문제
https://school.programmers.co.kr/learn/courses/30/lessons/12973
설계
- stack을 활용하여 비교했다.
- 마지막에 stack의 값이 남아있다면 false 반환
파이썬
def solution(s):
stack = []
for next in s:
if stack: # 스택이 있다면
if stack[-1] == next: # 마지막 스택과 비교
stack.pop() # 같으면 제거
else:
stack.append(next) # 다르면 추가
else:
stack.append(next) # 스택이 비어있으면 추가
if stack:
return 0
else:
return 1
자바스크립트
function solution(s) {
let stack = []
for (const alpha of s) {
stack.push(alpha)
if (stack.length < 1) break;
if (stack[stack.length - 1] === stack[stack.length - 2]) {
stack.pop()
stack.pop()
}
}
return stack.length === 0 ? 1 : 0;
}
'PS (Problem Solving) > Programmers' 카테고리의 다른 글
[프로그래머스] 영어 끝말잇기 (0) | 2022.10.31 |
---|---|
[프로그래머스] 최소직사각형 (0) | 2022.10.27 |
[프로그래머스] 다음 큰 숫자 (0) | 2022.10.25 |
[프로그래머스] 피보나치 수 (0) | 2022.10.24 |
[프로그래머스] 숫자의 표현 (0) | 2022.10.23 |