🔗 문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/12973
✏️ 풀이
function solution(s) {
const stack = [s[0]];
for (let i = 1; i < s.length; i++) {
if (s[i] === stack[stack.length - 1]) {
stack.pop();
continue;
}
stack.push(s[i]);
}
return Number(!stack.length)
}
스택 자료구조를 활용하여 s를 순회하며 스택 맨 위의 값이랑 같으면 stack을 pop하고, 다르면 push하도록 하였다. 이렇게 하면 일일이 앞부터 2개 짝을 없애고 문자열을 다시 만들 필요 없이 한 번 순회하는 것만으로 제거 가능 여부를 확인할 수 있다.
'연습장 > 프로그래머스 문제풀이' 카테고리의 다른 글
[프로그래머스 Level 2] 귤 고르기 - JavaScript (0) | 2023.01.02 |
---|---|
[프로그래머스 Level 2] 디펜스 게임 - JavaScript (0) | 2022.12.30 |
[프로그래머스 Level 2] 이진 변환 반복하기 - JavaScript (0) | 2022.11.14 |
[프로그래머스 Level 2] 전력망을 둘로 나누기 - JavaScript (0) | 2022.11.05 |
[프로그래머스 Level 2] 피로도 - JavaScript (0) | 2022.11.05 |