티스토리 뷰

728x90

https://www.acmicpc.net/problem/1972

 

1972번: 놀라운 문자열

대문자 알파벳으로만 이루어져 있는 문자열이 있다. 이 문자열에 대해서 ‘D-쌍’이라는 것을 정의할 수 있는데, 이 문자열에 포함되어 있는, 거리가 D인 두 문자를 순서대로 나열한 것을 이 문

www.acmicpc.net

D-쌍을 만들기 위해 길이가 1(=i)부터 문자열의 길이까지 반복문을 돌려 만든 다음,

결과물을 list에 저장합니다.

저장한 list를 다시 반복문을 돌려 중복되는 문자열이 있는지 확인합니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
while True:
    txt = input()
    if txt == "*":
        exit()
    chk = True
    for i in range(1len(txt)):
        lst = []
        for j in range(len(txt) - i):
            lst.append(txt[j] + txt[j + i])
        for k in range(len(lst)):
            if lst[k] in lst[k + 1:]:
                chk = False
    if chk:
        print("{} is surprising.".format(txt))
    else:
        print("{} is NOT surprising.".format(txt))
cs

 

댓글