백준 #10809 (Python) 가나다순 검색

알파벳의 소문자로만 구성된 단어 S가 주어집니다. 각 문자가 단어에 있으면 첫 번째로 나타나는 위치를 인쇄하고 그렇지 않으면 -1을 인쇄하는 프로그램을 작성하십시오.

기입

첫 번째 줄에는 단어 S가 있습니다. 단어의 길이는 100을 초과하지 않으며 알파벳 소문자로만 구성됩니다.

누르다

각 알파벳에 대해 a가 처음 나타나는 위치, b가 처음 나타나는 위치, …z가 처음 나타나는 위치를 공백으로 구분하여 출력한다.

단어에 알파벳이 없으면 -1이 반환됩니다. 단어의 첫 번째 문자는 위치 0에 있고 두 번째 문자는 위치 1에 있습니다.

샘플 입력 1 복사

baekjoon

예제 출력 1 복사

1 0 -1 -1 2 -1 -1 -1 -1 4 3 -1 -1 7 5 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1

답변

string = input()
alphabet = "abcdefghijklmnopqrstuvwxyz"
for i in alphabet:
    print(string.find(i), end = ' ')

find()는 문자열에서 특정 문자의 위치 값을 반환합니다(이는 문자열에서만 가능하므로 목록 및 튜플과 같은 반복 가능한 데이터 유형에는 index() 함수를 사용해야 합니다).

검색된 문자가 없으면 -1이 반환됩니다(index() 함수는 AttributeError를 발생시킵니다.)