Adventure Time - Jake ★[백준/python] 10809번 알파벳찾기: ord(),chr() 아스키코드값 변환/ for-loop, find()
본문 바로가기
Back-end/백준(python)

★[백준/python] 10809번 알파벳찾기: ord(),chr() 아스키코드값 변환/ for-loop, find()

by bogyoi 2023. 10. 24.



 작성코드:

 

#아스키코드값이 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 = ' ')