[Python] 알고리즘/Silver
[1972] 놀라운 문자열 (Python)
-Becca-
2021. 12. 23. 16:05
[문제]
https://www.acmicpc.net/problem/1972
1972번: 놀라운 문자열
대문자 알파벳으로만 이루어져 있는 문자열이 있다. 이 문자열에 대해서 ‘D-쌍’이라는 것을 정의할 수 있는데, 이 문자열에 포함되어 있는, 거리가 D인 두 문자를 순서대로 나열한 것을 이 문
www.acmicpc.net
알고리즘 분류는 구현, 자료 구조, 문자열, 해시를 사용한 집합과 맵 입니다.
D-쌍들이 서로 다른 것을 판단할 때, dictionary를 사용하였습니다.
[코드]
import sys
while True:
st = sys.stdin.readline().rstrip()
if st == "*":
break
res = 0
for i in range(len(st) - 1):
dt = dict()
for j in range(i + 1, len(st)):
dt[st[j - i - 1] + st[j]] = dt.get(st[j - i - 1] + st[j], 0) + 1
if dt[st[j - i - 1] + st[j]] > 1:
res = 1
if res == 0:
print(st + " is surprising.")
else:
print(st + " is NOT surprising.")