
간단했던 문제!
1. 알파벳 크기의 배열을 만들어서 0으로 초기화 -> 문자열에서 알파벳이 나오는 횟수 카운트
2. 문자열 크기 만큼 for문을 돌려서 해당 문자열에서 'a'의 아스키코드 97을 빼서 알파벳 크기 배열에 등장 횟수 증가
3. 알파벳 크기 배열 출력
이런식으로 풀었다.
s = input()
# 알파벳 개수 0으로 초기화
arr = [0] * 26
# 해당 알파벳이 몇개 나왔는지
for i in s:
arr[ord(i) - 97] += 1
for i in arr:
print(i, end=' ')
이 알파벳의 아스키코드를 어떻게 나타내지? 고민하면서 검색을 해봤는데 ord() 함수라는게 있었다.
ord란?
ordinal position의 약자로, 문자의 순서 위치 값을 의미한다.
10진수 유니코드(Unicode)로 값을 변환해준다.
ord(a) # 97
ord(b) # 98
오늘도 배워갑니당🙌