IT/알고리즘
[파이썬 알고리즘 문제] 짝지어 제거하기
굶지마🦐
2023. 5. 22. 01:18
728x90
728x90
1. 문제 정보
- 출처: 프로그래머스(https://school.programmers.co.kr/learn/courses/30/lessons/12973)
- 난이도: 레벨 2
2. 접근 방법
- 연달아 들어오는 문자가 동일하면 지우자
- 탐색 대상인 문자열이 계속 바뀐다는 것
- 이런 작업에 while문 사용해 idx로 참조하면 자칫 무한루프 빠질 수 있음
- for문을 쓰면 좋은데, 어떻게 쓰면 좋을까?
- 문자열을 list()로 변환 후, 다른 list()에 하나씩 pop() 시키면서 값을 비교하자
3. 코드
def solution(s):
s1 = list(s)
s2 = list()
for c in s1:
if len(s2) == 0: s2.append(c)
elif s2[-1] == c: s2.pop(-1)
else: s2.append(c)
if len(s2) == 0: return 1
else: return 0
320x100