🔗 문제 링크
https://www.hackerrank.com/challenges/reduced-string/problem?isFullScreen=true
✏️ 풀이
function superReducedString(s) {
const stack = [];
[...s].forEach(letter => {
if (stack[stack.length - 1] === letter) {
stack.pop();
} else {
stack.push(letter);
}
});
return stack.length ? stack.join('') : 'Empty String';
}
문자열을 순회하면서 문자를 스택에 push한다. 만약 스택의 마지막 요소와 동일한 문자일 경우에는 push 대신 pop을 한다. 이렇게 하여 스택에 남은 문자들을 join하면 절대로 동일한 문자가 두 개 이상 연달아 나오지 않게 된다.
'연습장 > HackerRank 문제풀이' 카테고리의 다른 글
[HackerRank - Easy] Ice Cream Parlor - JavaScript (0) | 2023.01.05 |
---|---|
[HackerRank - Easy] Weighted Uniform Strings - JavaScript (0) | 2023.01.03 |
[HackerRank - Easy] Two Characters - JavaScript (0) | 2023.01.03 |
[HackerRank - Easy] Flatland Space Stations - JavaScript (0) | 2023.01.01 |
[HackerRank - Easy] Big Sorting - JavaScript (0) | 2023.01.01 |