Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
Tags
- C 언어 코딩 도장
- 메모리구조
- 알기쉬운 알고리즘
- 이스케이프 문자
- JSON
- 이것이 자바다
- Serialization
- 혼자 공부하는 C언어
- coding test
- 윤성우 열혈자료구조
- 윤성우의 열혈 자료구조
- datastructure
- list 컬렉션
- buffer
- s
- Algorithm
- Graph
- insertion sort
- R
- Selection Sorting
- stream
- Stack
- C programming
Archives
- Today
- Total
Engineering Note
[BOJ:10808] 알파벳 개수 본문
문제
https://www.acmicpc.net/problem/10808
[
10808번: 알파벳 개수
단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다.
](https://www.acmicpc.net/problem/10808)
문제해결방법
- a부터 z까지 0부터 25라는 번호를 붙여준다.(아스키코드 - 97)
- a의 아스키코드 값이 97이기 때문에 -97을 해주면 0부터 25까지 번호가 부여된다.
- 문자열의 문자를 for문으로 하나씩 추출한다.
- 추출한 문자를 아스키코드로 변환하고 - 97을 통해 초기에 부여한 번호로 만들어준다.
- 문자에 부여한 번호 해당하는 배열의 인덱스의 값을 하나 증가시킨다.
- 문자가 출현한 개수를 저장한 배열을 출력한다.
코드
import sys
input_data = sys.stdin.readline().rstrip()
answer = [0]*26
for alphabet in input_data:
answer[ord(alphabet)-97] += 1
print(*answer)
'Problem Solving > BOJ' 카테고리의 다른 글
[BOJ:2210] 숫자판 점프 (0) | 2021.09.09 |
---|---|
[BOJ:5585]거스름돈 (0) | 2021.09.01 |
[BOJ:3273] 두 수의 합 (0) | 2021.08.30 |
[BOJ: 5543] 상근날드 (0) | 2021.08.25 |
[BOJ:10039] 평균 점수 (0) | 2021.08.25 |
Comments