Notice
Recent Posts
Recent Comments
Link
나의 개발일지
[프로그래머스] Lv.2 짝지어 제거하기 [Python, 파이썬] 본문
- 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/12973
- 🔑 : 스택
- 문자열 길이만큼만 반복하면 끝
- 스택이 비었거나 현재 문자(s[i])와 스택의 마지막(stack[-1])이 다르면 append
- 현재 문자와 스택의 마지막 요소가 같으면 스택에서 빼낸다.
- 최종적으로 스택이 비어있으면 모든 문자열을 없앨 수 있다는 뜻
def solution(s):
stack = []
for i in range(len(s)):
if not stack:
stack.append(s[i]) # 스택이 비어있다면 넣기
else:
if s[i] == stack[-1]: # 스택 마지막 값과 s[i]가 같으면 빼냄
stack.pop()
else:
stack.append(s[i]) # 스택 마지막 값과 s[i]가 다르면 넣기
if stack : return 0 # 스택이 비어있지 않다면 return 0
else : return 1 # 스택이 비어있으면 모두 없앤 것
'프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv.2 카펫 [Python, 파이썬] (0) | 2023.04.08 |
---|---|
[프로그래머스] Lv.2 영어 끝말잇기 [Python, 파이썬] (0) | 2023.04.08 |
[프로그래머스] Lv.2 피보나치 수 [Python, 파이썬] (0) | 2023.04.07 |
[프로그래머스] Lv.2 최솟값 만들기 [Python, 파이썬] (0) | 2023.04.07 |
[프로그래머스] [KAKAO] Lv.2 두 큐 합 같게 만들기 [Python, 파이썬] (0) | 2023.04.06 |
Comments