문제
문자열에서 연속으로 같은 문자가 반복되면 하나만 남기고 제거하라.
입력
문자열이 한 줄로 주어진다.
출력
연속 중복 문자를 제거한 결과를 출력한다.
예제
| 입력 | 출력 |
|---|---|
aabbcc | abc |
풀이
이전 문자와 비교하며 다른 문자만 출력한다.
- 문자열을 순회하며 현재 문자와 이전 문자를 비교한다
- 다르면 출력하고, 같으면 건너뛴다
핵심 아이디어: 이전 문자 하나만 기억하면 연속 중복을 O(N) 시간에 제거할 수 있다.
코드
a = input()
b = ""
for i in a:
if b != i:
print(i, end="")
b = i복잡도
- 시간: O(N)
- 공간: O(1)