STUDY/Algorithm

[백준] 10809 알파벳 찾기

sinawi95 2021. 2. 1. 22:22
728x90

www.acmicpc.net/problem/10809

 

10809번: 알파벳 찾기

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

www.acmicpc.net


s=input()
alpha = [-1]*(ord('z')-ord('a')+1)		# 알파벳 갯수만큼 -1

for index, ch in enumerate(s):			# 알파벳을 반복문으로 돌리는 것보다 
    if alpha[ord(ch)-97] == -1:			# 더 짧을것같아서 string으로 반복문을 돌렸다.
        alpha[ord(ch)-97] = index		# 각 알파벳이 처음나오는 index의 값만 바꿔준다.
for n in alpha:
    print(n,end=' ')

알파벳 갯수가 몇개인지 몰라서 ord('z') - ord('a') +1 로 찾았다. ㅋㅋㅋ

머리가 나쁜건지 머리가 안돌아가는건지 모르겠다.

오늘은 계속 아스키코드가 머리에서 안떨어지는지 반복문에서조차 ord(ch)-ord('a') 값으로 돌렸다.

제출하고 타인의 코드를 봤는데 오히려 알파벳으로 반복문을 돌리는게 더 나은것 같다.


string = str(input())
alphbet = 'abcdefghijklmnopqrstuvwxyz'

for i in alphbet: 
    print(string.find(i), end = ' ')

'STUDY > Algorithm' 카테고리의 다른 글

[백준] 1268. 임시반장 구하기  (0) 2021.02.02
[백준] 2941 크로아티아 알파벳  (0) 2021.02.01
[백준] 1157 단어 공부  (0) 2021.02.01
[백준] 8958 OX 퀴즈  (0) 2021.01.30
[백준] 1475 방 번호  (0) 2021.01.30