본문 바로가기

코딩 테스트/백준 파이썬 문제 풀이

[백준 10809번 파이썬] 알파벳 찾기

https://www.acmicpc.net/problem/10809

 

이번 문제는 영어 문자열을 입력받고

출력할 때 해당 문자열에 없는 알파벳 위치에 -1을,

존재하는 알파벳에는 문자열에서의 n번째 순서임을 나타내면 되는 문제이다

참고로 문자열 순서를 세는 건 1이 아닌 0부터 시작한다

 

word = input()
alphabet = list(range(97, 123))
for i in alphabet:
    print(word.find(chr(i)))

 

우선 한 변수에 97부터 123까지의 문자를 집어넣는다

위의 숫자는 a부터 z까지의 아스키코드이며

이는 또 for 문을 이용해 문제를 풀이할 수 있기 때문에 사용하는 방식이다

chr(변수)를 이용해 아스키코드를 다시 문자열로 바꿔주고,

find를 이용해 입력받은 문자열의 순서를 코드가 알아서 출력할 수 있도록 한다

중요한 부분은 find 함수에 의해 입력값에 없는 문자열을 확인하면 -1을 출력해줘서

이 함수들을 사용하는 게 거의 이 문제의 출제 의도인 셈이다