[백준] 10809번: 알파벳 찾기

박정훈·2022년 1월 30일
0

코테 문제 모음

목록 보기
4/34

백준 10809번
알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오.

S = input()
arr = [-1] * 26
for s in range(len(S)):
    if(arr[ord(S[s]) - 97] == -1):
      arr[ord(S[s]) - 97] = s

for a in arr:
    print(a, end=" ")

알파뱃 개수 만큼의 배열을 만들어두고, 각 문자를 아스키코드로 바꿔주고 a ~ z 까지가 97~122 까지이기 때문에 97을 빼줘서 배열의 0번부터 a에 해당하는 index가 들어가게 한다.

문자를 넘겨주면 index를 반환 해 주는 함수가 있을거 같아서 찾아봤다. String.find() 함수는 넘겨받은 문자가 있다면 index를 아니라면 -1을 반환 해 준다.

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

for a in alphabet:
    print(S.find(chr(a)), end=" ")
profile
그냥 개인적으로 공부한 글들에 불과

0개의 댓글