728x90
문제출처: https://www.acmicpc.net/problem/10808
1. 코드
1
2
3
4
5
6
7
8
9
10
|
s = input() #문자열 입력
alpha =[0]*26 #소문자 갯수 26개
for i in s:
#ord는 문자를 숫자로 바꾸는 함수
#a의 아스키코드인 97를 빼서 배열의 인덱스와 맞춤
alpha[ord(i)-97] +=1
for i in alpha:
print(i, end=" ")
|
cs |
2. 해결과정
처음에 하나씩 비교를 해서 찾아야하나 고민을 했다가 그건 좀 아닌 것 같아서 검색해봤더니 파이썬에 ord()함수가 존재한다는 것을 알게 되었다. 문자를 숫자로 바꿔주는 함수 였다.
따라서 문자열을 입력 받고, alpha라는 배열에26개로 초기화를 해준다.(알파벳 개수)
그 후에 알파벳a의 아스키 코드인 97를 빼면서 카운트 해줬다.
3. 느낀점
함수를 사용하지 않았다면 하나씩 비교를 해야해서 많이 복잡해졌을 것 같은 문제
728x90
'공부 자료 > 알고리즘' 카테고리의 다른 글
(Python/파이썬) 백준 3009번 - 네 번째 점 (0) | 2021.08.03 |
---|---|
(Python/파이썬) 백준 5543번 - 상근날드 (0) | 2021.08.03 |
(Python/파이썬) 백준 2864번 - 5와 6의 차이 (0) | 2021.08.03 |
(Python/파이썬) 백준 10822번 - 더하기 (0) | 2021.08.03 |
(Python/파이썬) 백준 9095번 - 1,2,3 더하기 (0) | 2021.08.03 |