https://www.acmicpc.net/problem/10809
10808 알파벳 개수와 거의 비슷한 문제로, 이번 문제는 각 문자가 처음 나오는 위치를 출력해야한다.
먼저 정답으로 사용할 리스트를 26개의 원소를 가지며 -1로 초기화시켜 만들어 둔다. 이후 S를 탐색하면서 알파벳이 처음 나왔는지 확인하고, 처음 나왔다면 그 위치의 인덱스를 정답에 저장한다.
S = list(input())
alpha = [-1 for _ in range(26)]
for i in range(len(S)):
if alpha[ord(S[i]) - ord('a')] == -1:
alpha[ord(S[i]) - ord('a')] = i
print(' '.join(list(map(str, alpha))))