문제
https://www.acmicpc.net/problem/10809
문제는 위 사이트를 참고해주세요.
풀이
x = list(map(str, input())) # 입력 받은 단어를 배열로 저장합니다. ex) back -> ['b', 'a', 'c', 'k']
strDic = {'a': -1, 'b': -1, 'c': -1, 'd': -1, 'e': -1, 'f': -1, 'g': -1, 'h': -1, 'i': -1, 'j': -1, 'k': -1, 'l': -1,
'm': -1, 'n': -1, 'o': -1, 'p': -1, 'q': -1, 'r': -1, 's': -1, 't': -1, 'u': -1, 'v': -1, 'w': -1, 'x': -1,
'y': -1, 'z': -1} # 딕셔너리 안에 각 알파벳을 키로 주고 기본 value를 -1로합니다.
for i in x:
xIndex = x.index(i) # xIndex에 for문이 돌때마다 알파벳이 위치한 인덱스 값을 저장합니다. x.index(c) ==> 2
if i in strDic: # 입력한 단어의 알파벳이 strDic에 있을 때
strDic[i] = xIndex # 그 알파벳에 해당하는 키의 value를 인덱스 값으로 바꿔줍니다.
for n in strDic.values(): # n에 strDic에 있는 value의 값을 저장합니다.
print(n, end=" ") # value 출력
풀이는 주석을 확인해주세요.
다 풀고 알았는데 find() 함수를 사용하면 찾는 문자나 문자열이 없으면 -1을 리턴한다고 합니다.
저처럼 알파벳 하나하나 -1로 지정하지 않으셔도 됩니다.. ㅠ
결과
'IT > 알고리즘' 카테고리의 다른 글
1일 1알고리즘 - #10 (0) | 2020.05.16 |
---|---|
1일 1알고리즘 - #9 (0) | 2020.05.15 |
1일 1알고리즘 - #7 (0) | 2020.05.15 |
1일 1알고리즘 - #6 (0) | 2020.05.15 |
1일 1알고리즘 - #5 (0) | 2020.05.14 |
댓글