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
'IT > 알고리즘' 카테고리의 다른 글
[파이썬 알고리즘 문제] 영어 끝말잇기 (0) | 2023.05.22 |
---|---|
[파이썬 알고리즘 문제] 최댓값과 최솟값 (0) | 2023.05.22 |
[파이썬 알고리즘 문제] 신규 아이디 추천 (0) | 2023.04.07 |
[파이썬 알고리즘 문제] 가장 큰 수 (0) | 2023.03.26 |