📖 문제
🧑🏻💻 풀이 과정
1) 문제 접근 및 이해
인접한 두개의 문자가 동일한지 판별하여, 동일한 경우 두개를 제거하는 방식이였습니다.
인접한 두개의 문자를 비교하기 위하여 스택을 이용하였습니다.
2) 알고리즘
- 스택
3) 풀이 코드
사용 언어 - JavaScript
function solution(s) {
let stack = [] // 문자열 하나하나 저장할 스택
Array.from(s).forEach(v => { // 문자열을 배열로 변경하여 알파벳 하나씩 반복
if (stack.length === 0) { // 스택이 비어있으면, 문자 추가
stack.push(v)
} else if (stack[stack.length-1] === v) { // 스택의 가장 최근 값이 현재 문자랑 동일하면, 짝지어서 제거 가능
stack.pop()
} else { // 스택의 가장 최근 값이랑 현재 값이랑 다르면, 스택에 현재 값 추가
stack.push(v)
}
})
return stack.length === 0 ? 1 : 0 // 스택이 비어 있으면, 모두 제거되었으므로 1 반환, 그렇지 않으면 0 반환
}
🔗 문제 링크
- https://programmers.co.kr/learn/courses/30/lessons/12973?language=javascript
※ 오류 및 오타, 다른 의견이 있는 경우 댓글을 남겨주시면 감사하겠습니다
'알고리즘 문제풀이 > JavaScript' 카테고리의 다른 글
[프로그래머스] 추석트래픽 (0) | 2022.05.24 |
---|---|
[프로그래머스] 단어 변환 (0) | 2022.05.13 |
[프로그래머스] 네트워크 (0) | 2022.05.05 |
[프로그래머스] 타겟 넘버 (0) | 2022.05.05 |
[프로그래머스] 오픈채팅방 (0) | 2022.05.05 |
댓글