(프로그래머스) 같은 숫자는 싫어

hwisaac·2024년 11월 11일
0

코테TIL

목록 보기
12/20

문제 링크

https://school.programmers.co.kr/learn/courses/30/lessons/12906

풀이

function solution(arr)
{
    if (arr.length === 1 ){
        return arr;
    }
    var answer = [ arr[0] ];
    
    for (let i =1 ; i< arr.length ; i ++ ){
        const prev = arr[i-1];
        if (prev !== arr[i]){
            answer.push(arr[i])
        }
    }
    
    return answer;
}

스택을 이용한 풀이

function solution(arr) {
    const stack = []; 

    for (let i = 0; i < arr.length; i++) {
        if (stack.length === 0 || stack[stack.length - 1] !== arr[i]) {
            stack.push(arr[i]);푸시
        }
    }
    
    return stack;
}

TIL

오늘은 스택 자료구조를 활용하여 중복 제거 문제를 해결하는 방법을 배웠습니다. 스택을 통해 마지막으로 추가된 요소와 현재 요소를 비교하여 중복을 쉽게 제거할 수 있었고, 이를 통해 코드를 더 직관적으로 작성할 수 있었습니다.
스택을 적절히 활용하면 조건 처리가 명확해져 문제 해결에 유리하다는 점을 다시금 깨달았습니다.

0개의 댓글