작성코드:
#아스키코드값이 97부터 122까지니까 (아스키-97)로 하면 0부터 된다
#a:0 b:1 c:2 ,.. . falut:-1로
#alpha='abcdefghijklmnopqrstuvwxyz'
#ord: 문자 -> 아스키코드값
#chr: 아스키코드값 -> 문자
#a~z: 97~122
str=input()
output=[-1]*26
for i in range(len(str)):
if output[ord(str[i])-97]!= -1: #o가 두번 나오는데, 그 중 처음 나오는 o의 인덱스를 출력하니까 이미 -1이 아닌 값이면 변경 없이 고고.
continue
else:
output[ord(str[i])-97] = i #i는 str을 보는 인덱스!
for i in range(26):
print(output[i],end=' ')
다른 사람 코드
1) for-loop 이용
S = list(input())
c = 'abcdefghijklmnopqrstuvwxyz'
for i in c:
if i in S:
print(S.index(i), end =' ')
else:
print(-1, end=' ')
2) find() 이용
S = input()
for x in 'abcdefghijklmnopqrstuvwxyz':
print(S.find(x), end = ' ')
'Back-end > 백준(python)' 카테고리의 다른 글
[백준/python] 1316: 그룹 단어 체커/ set(), list(dict.fromkeys()) 차이 (0) | 2023.10.24 |
---|---|
[백준/python] 2941 크로아티아알파벳 개수 (1) | 2023.10.24 |
[백준/python] 10811번: 바구니 뒤집기/ reverse(), [::-1] (0) | 2023.10.24 |
[백준/python] 3052번:서로 다른 나머지 몇개 있나 (0) | 2023.10.24 |
[백준/python] 10951번/ 입력개수 정해지지 않았을 때 -> while문 try-except ->에러 발생 시 입력 x (0) | 2023.10.24 |