IT

백준 파이썬 알고리즘 - 10809 알파벳 찾기

rimicode 2022. 8. 11. 15:02
728x90
반응형
SMALL

한 단어에서 각 알파벳이 처음 등장하는 위치를 찾는 문제

 

문제

알파벳 소문자로 이루어진 단어가 주어진다.

각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오.

 

입력

첫째 줄에 단어가 주어진다.

단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다.

 

출력

각각의 알파벳에 대해서, a가 처음 등장하는 위치 ~ z가 처음 등장하는 위치를 공백으로 구분해서 출력

만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1 출력

단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치

 

word = input()
alphabet = list(range(97,123))

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

word: 입력 받은 문자열 변수

 

alphabet: 아스키코드의 숫자 범위로 알파벳 리스트 생성

아스키코드에서 a=97, z=122

 

range 함수: 숫자 범위를 생성

list 함수: 리스트로 변환

 

find 함수: 어떤 찾는 문자가 문자열 안에서 첫 번째에 위치한 순서를 숫자로 출력

찾는 문자가 문자열 안에 없는 경우 -1 출력하는 함수

 

chr 함수: 아스키코드에 해당하는 숫자를 문자열로 변환시키는 함수

728x90
반응형
LIST