관리 메뉴

100세까지 코딩

[백준] 10809번 알파벳 찾기 (파이썬) 본문

코딩테스트/파이썬

[백준] 10809번 알파벳 찾기 (파이썬)

100세까지 코딩 2024. 1. 9. 16:46
문제

나의 생각
  • 알파벳을 'a'-'z'까지 다 입력해서 list를 만들기는 번거롭다.
  • ord()를 사용하여 'a' - 'z'를 숫자로 치환한다.
  • 숫자로 치환한 것을 find() 함수를 위해 문자로 다시 치환한다.
  • string.find() 내장함수를 사용하여 해당 문자를 찾으면 처음 등장 위치, 못 찾으면 -1을 출력한다.
  • find() 내장함수에 대한 이해도를 보는 문제인 것 같다.
나의 풀이
s = input()
for i in range(ord('a'), ord('z') + 1):
    print(s.find(chr(i)), end= " ")
참고
ord(문자) : 하나의 문자를 받아 해당 문자에 해당하는 유니코드 정수로 반환.
chr(정수) : 하나의 정수를 받아 해당 정수에 해당하는 유니코드 문자로 반환.

find(문자) : 문자가 처음 위치한 자리의 값을 반환. 못 찾으면 -1 (문자열에서만 사용 가능)
index(문자) : 문자가 처음 위치한 자리의 값을 반환. 못 찾으면 ValueError (문자열, 리스트, 튜플에서 가능)