Python으로 구현한 12973번 짝지어 제거하기 문제 풀이입니다.
https://programmers.co.kr/learn/courses/30/lessons/12973
def solution(s) :
stack = []
for value in s :
if not stack :
stack.append(value)
else :
if stack[-1] == value :
stack.pop()
else :
stack.append(value)
if stack :
return 0
return 1
1. 문자열 s의 각 문자를 하나씩 확인하여 stack 리스트에 해당 문자가 없다면 stack 리스트에 해당 문자를 추가한다.
2. 현재 확인하고 있는 문자가 stack 리스트에 있다면 stack 리스트의 가장 마지막 요소와 비교하여 일치하면 마지막 요소를 제거하고, 일치하지 않다면 문자를 리스트에 추가한다.
3. 모든 문자에 대한 확인이 끝나면 최종적으로 stack 리스트를 확인하여 요소가 있다면 0을 반환하고, 아니라면 1을 반환한다.
'프로그래머스(Python) 풀이 > Level.2' 카테고리의 다른 글
프로그래머스(Python) 17677번 [1차] 뉴스 클러스터링 풀이 (0) | 2022.05.05 |
---|---|
프로그래머스(Python) 77485번 행렬 테두리 회전하기 풀이 (0) | 2022.05.05 |
프로그래머스(Python) 42626번 더 맵게 풀이 (0) | 2022.05.05 |
프로그래머스(Python) 12899번 124 나라의 숫자 풀이 (0) | 2022.05.05 |
프로그래머스(Python) 42747번 H-Index 풀이 (0) | 2022.05.04 |