728x90
반응형

간단한 노가다 문제이다. 각 거리마다 리스트를 생성하고 리스트에 중복되는 요소가 있는지 확인. 없다면 놀라운 문자열이고 있다면 놀라운 문자열이 아니다. 

EX) 입력: AABB

1) 거리 0

li = ["AA", "AB", "BB"] -> 중복된 것이 없으므로 통과

2) 거리 1

li = ["AB", "AB"] -> 중복된 것이 있으므로 놀라운 문자열 아님

while 42:
    s = input()
    if s == '*':
        break
        
    state = 1
    for i in range(1, len(s)):
        li = []
        for j in range(len(s)-i):
            li.append(s[j] + s[j+i])
        for k in range(len(li)-1):
            if li[k] in li[k+1:]:
                state = 0
    if state:
        print("{0} is surprising.".format(s))
    else:
        print("{0} is NOT surprising.".format(s))
728x90
반응형

+ Recent posts