티스토리 뷰

반응형
 

10809번: 알파벳 찾기

각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출

www.acmicpc.net

 

풀이

s = input()
for i in range(97,123):
    print(s.find(chr(i)),end =' ')

chr 함수는 숫자 i가 주어졌을 때 아스키 코드에 해당하는 알파벳을 반환한다.

find 메소드는 해당 문자열에서 몇 번째에 있는지 인덱스를 반환한다. (없다면 -1을 반환)

 

주어지는 알파베시 전부 소문자이므로, 아스키 코드는 97부터 123이다.

 

따라서 위와 같이 find(문자열(아스키 코드 97~123))을 대조해서 출력해주면, 각 위치에 자동으로 인덱스 번호가 들어가게 된다.

 

-1을 출력하라는 거 보면, find 함수를 의도적으로 쓰라고 만들어 놓은 문제이다.

반응형