문제
나의 생각
- 알파벳을 '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 (문자열, 리스트, 튜플에서 가능)