본문 바로가기
Algorithm/문제풀이

[프로그래머스] 짝지어 제거하기(LV.2) by javascript - 2017 팁스타운

by 썸머워즈 2022. 5. 18.
반응형

▷ 문제 : 2017 팁스타운 - 짝지어 제거하기 LV.2

 

코딩테스트 연습 - 짝지어 제거하기

짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙

programmers.co.kr

▷ 해결 날짜 : 2022.05.18
▷ 소요 시간 : 20분
▷ 풀이 과정 :

제목 그대로 짝지어 제거하는 문제이다.

문자열이 매개변수로 주어지고 앞 뒤 문자가 같은 경우 제거해주면 되는 문제였다.

 

다른 문제 유형 중 괄호 열고 닫기 문제 유형과 비슷해서 그런 방식으로 풀어봤는데,

문자를 하나씩 배열에 담아주면서 마지막에 담긴 문자와 다음에 나오는 문자가 같은 경우 제거해주며,

 

마지막으로 문자를 담아뒀던 배열의 길이에 따라 반환되는 값을 달리 해주었다.

 

▷ 구현

function solution(s) {
    let answer = [];
    for(let i = 0 ; i < s.length ; i++){
        const char = s[i]
        if(answer[answer.length - 1] === char) {
            answer.pop();
        } else {
            answer.push(char);
        }
    }
    return answer.length ? 0 : 1;
}


▷ 복기 :

다른사람의 풀이를 봐도 다 비슷하게 푼 방식뿐이라 그냥 이런 유형의 문제 중 하나였을 뿐인가 보다.

반응형


댓글

TOP