728x90
https://www.acmicpc.net/problem/10808
10808번: 알파벳 개수
단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다.
www.acmicpc.net
문제 설명
알파벳 소문자로만 이루어진 단어 S가 주어진다. 각 알파벳이 단어에 몇 개가 포함되어 있는지 구하는 프로그램을 작성하시오.
풀이 과정
- 나의 풀이 (1) 알파벳 리스트에서 직접 count하기
입력값이 무조건 알파벳 소문자로 이루어져있기에 알파벳 리스트에 알파벳 소문자를 모두 저장하고 count 함수를 통해 출력하기로 하였다.
# 10808 알파벳 개수
import sys
input = sys.stdin.readline
text_lst = list(input())
alphabet_lst = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
for i in range(len(alphabet_lst)) :
print(text_lst.count(alphabet_lst[i]),end=" ")
- 나의 풀이 (2)
아스키코드표를 이용해서 풀어보았다.
+) input = sys.stdin.readline 보다는 앞으로 그냥 sys.stdin.readline()(또는 sys.stdin.readline.rstrip('\n')) 을 더 애용하자.
# 10808 알파벳 개수
import sys
text = sys.stdin.readline().rstrip()
result_lst = [0]*(26)
for word in text :
result_lst[ord(word)-97] += 1
for i in range(len(result_lst)) :
print(result_lst[i],end=" ")
후기
아스키코드를 자주 써먹자...!!
'Algorithm' 카테고리의 다른 글
[백준] 11655 ROT13 (파이썬 Python) (0) | 2021.08.12 |
---|---|
[백준] 10820 문자열 분석 (Python 파이썬) (0) | 2021.08.11 |
[백준] 1406 에디터 (파이썬 Python) (0) | 2021.07.17 |
[백준] 11718 그대로 출력하기 파이썬(Python) (0) | 2021.07.10 |
[백준] 1935 후위 표기식2 (파이썬 Python) (0) | 2021.07.10 |