728x90
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 |