한 걸음씩
[프로그래머스][JS] 짝지어 제거하기 ✅ 본문
https://school.programmers.co.kr/learn/courses/30/lessons/12973
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이 과정
function solution(s)
{
let stack = []
for (let i = 0; i < s.length; i++){
stack.push(s[i])
if (stack[stack.length - 1] === stack[stack.length - 2]){
stack.pop()
stack.pop()
}
}
return (stack.length === 0) ? 1 : 0
}
s문자열에서 요소를 하나씩 꺼내 stack 빈배열에 하나씩 넣는데(push) stack배열의 마지막 요소와 마지막 앞 요소가 같다면 pop을 두 번하여 같은 문자를 꺼낸다.
마지막에 삼항 조건 연산자를 사용하여 stack의 길이가 0이면 1을 반환하고, 아니라면 0을 반환한다.
리뷰
스택으로 풀면 정말 쉽게 풀리는 문제인데 스택으로 풀 생각을 못하고 있다가 질문하기에서 스택으로 풀어봐라는 힌트를 보고 풀었다.
'Programmers' 카테고리의 다른 글
| [프로그래머스][JS] 카펫 ✅ (0) | 2023.07.25 |
|---|---|
| [프로그래머스][JS] 점프와 순간 이동 ✅ (0) | 2023.07.25 |
| [프로그래머스][JS] 연속된 수의 합 ✅ (0) | 2023.07.21 |
| [프로그래머스][JS] 둘만의 암호 (0) | 2023.07.20 |
| [프로그래머스][JS] 캐릭터의 좌표 (0) | 2023.07.20 |