https://www.acmicpc.net/problem/1972
문제
풀이
주어진 문자열의 간격을 이중 for문 혹은 while과 for문으로 구성해서 풀 수 있습니다.
그리고 만들어진 쌍은 집합에 저장하여 효율적인 공간을 구성해주었습니다.
코드
# 1972번 놀라운 문자열
ALERTS = ['is surprising.', 'is NOT surprising.']
while 1:
word = input()
if word == "*":
break
ALERTS_idx = 0
# 문자열 확인 코드 작성.
# 이중 for문을 활용하여서 for j in range(i, num)
# 그러고 나서 set에 저장. 그러나 이미 존재한다면 break
D = 1
while D < len(word)-1:
check_duplicate = set()
for j in range(len(word)-D):
fin_word = word[j] + word[j+D]
if fin_word in check_duplicate:
ALERTS_idx = 1
break
else:
check_duplicate.add(fin_word)
D += 1
print(word, end = ' ')
print(ALERTS[ALERTS_idx])
출력결과
'백준 > 구현' 카테고리의 다른 글
[백준][Python] 13717번 포켓몬 GO - 실버 5 (0) | 2024.03.24 |
---|---|
[백준][Python] 14503번 로봇 청소기 - 코팩(지문 오류 존재) (2) | 2024.01.04 |
[백준][Python] 2493번 탑 - 코팩 (0) | 2024.01.02 |
[백준][PyPy3] 1062번 가르침 - 코팩 (0) | 2023.08.31 |
[백준][Python] 2776번 암기왕 - 코팩 (0) | 2023.08.30 |