코딩일지/python 백준 알고리즘

python 백준 알고리즘 10809번: 알파벳 찾기

야언 2022. 9. 13. 19:12

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

 

10809번: 알파벳 찾기

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

www.acmicpc.net

 

 

내 제출

word = input()
alphabet = list(range(97,123))  # 아스키코드 알파벳 소문자(a~z) 숫자 범위

for i in alphabet :
    print(word.find(chr(i)))

 

find함수와 chr함수를 처음 써봐야하는 문제라 감이 잡히지 않아서 구글링을 할 수밖에 없는 문제였다

 

chr() : 아스키코드에 해당하는 숫자를 문자열로 변환시킨다. ( 반대의 경우 ord 함수를 사용)

find() :  입력받은 문자열 안에 chr 함수로 변환된 문자가 있는지 찾는다. 만일 문자열이 있으면 찾는 문자가 첫 번째에 위치한 인덱스 숫자를 출력하고 없으면 -1을 출력한다.

 

 

find 함수와 index 함수의 차이점

 

find 함수는 문자열에서만 사용 가능한 함수,

index 함수는 문자열 이외에도 리스트, 튜플과 같은 iterable 자료형에서도 사용 가능.

 

find 함수는 찾는 문자가 문자열 안에 포함되지 않은 경우 -1을 출력 / index함수는 >AttributeError가 발생