문제
https://www.acmicpc.net/problem/10808
알파벳 소문자로만 이루어진 단어 s를 입력받아, 단어의 각 알파벳의 개수를 구하여라.
풀이
내 풀이
리스트 컴프리헨션과 count 함수를 이용해 각 알파벳의 개수를 저장한 리스트를 구하고, 그 리스트 내용을 공백으로 값을 구분하여 출력한다. 리스트에 저장할 때 데이터형을 문자열로 저장하여 형변환하는 점을 회피했다.
import sys
s = sys.stdin.readline()
print(" ".join([f"{s.count(chr(i))}" for i in range(ord("a"), ord("z") + 1)]))
다른 사람 풀이
아래와 같이 map 함수를 이용해 해결할 수도 있다.
import sys
print(*map(sys.stdin.readline().count, map(chr, range(ord("a"), ord("z") + 1))))