What I Learned/Algorithm Practice
[백준 - python] 10809번: 알파벳 찾기
Interrobang
2022. 3. 15. 13:57
<문제 링크>
10809번: 알파벳 찾기
각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출
www.acmicpc.net
<문제 풀이>
S = input()
ans = []
for i in range(97, 123):
a_to_z = chr(i)
try:
print(S.index(a_to_z), end=' ')
except:
print(-1, end=' ')
*key point: 아스키코드를 문자로 변환해주는 chr 함수를 이용하면 a ~ z 알파벳을 쉽게 반복문에 사용할 수 있다. 각 알파벳이 주어진 문자열의 어느 위치에 있는지는 index 함수를 통해 알 수 있다.
문제를 풀고 다른 사람들의 풀이를 보니 index 함수보다 더 이 문제에 적합한 find라는 함수가 있음을 알 수 있었다. index 함수의 경우 찾는 값이 없으면 에러가 발생하지만, find 함수는 -1을 반환하기 때문이다. 최대한 간단하게 풀이한 결과는 아래와 같다.
S = input()
for alphabet in range(97, 123):
print(S.find(chr(alphabet)), end=' ')