반응형
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 | 31 |
Tags
- 코드엔진
- greedy
- c언어
- 입문
- VS
- 친절한 설명
- C Programming
- 정리
- 구현
- 문자열
- 백준
- Implemention
- 초보
- 꾸준히
- C
- 파이썬
- Python
- C 언어
- 심화1
- 10807
- CSS
- Beakjoon
- 알고리즘
- HTML
- 설명
- 그리디
- 10926
- Baekjoon
- implement
- 문제풀이
Archives
- Today
- Total
안경잡이 구루루
백준 10808 (알파벳 개수) [Python/파이썬] [Implemnet/구현] 본문
파이썬(Python)/문제풀이(백준,BaekJoon)
백준 10808 (알파벳 개수) [Python/파이썬] [Implemnet/구현]
구루루(gururu) 2023. 10. 14. 13:28반응형
https://www.acmicpc.net/problem/10808
나:
alphabet = {
'a':0,'b':0,'c':0,'d':0,'e':0,'f':0,'g':0,'h':0,'i':0,
'j':0,'k':0,'l':0,'m':0,'n':0,'o':0,'p':0,'q':0,'r':0,
's':0,'t':0,'u':0,'v':0,'w':0,'x':0,'y':0,'z':0
}
s = input()
for i in s:
alphabet[i] += 1
print(*alphabet.values())
완성된 코드는 위와 같다.
s에 포함된 알파벳 뿐만 아니라 전체 알파벳에 대한 개수도 출력해야 하기 때문에 딕셔너리를 사용하는 것이 유리하다고 생각했다.
그래서 모든 알파벳 : 개수 의 형식으로 alphabet 딕셔너리를 만들었다.
이후 입력값을 변수 s 에 받고 반복문 for 을 통해 각 알파벳에 해당하는 딕셔너리 value 값을 +1 해줬다,
최종적으로 모든 딕셔너리 value 값들을 공백으로 구분해서 출력해야 하기 때문에 아스테리스크(*)를 앞에 사용했다.
다른사람:
S = input()
cnt = dict()
alphabet = 'abcdefghijklmnopqrstuvwxyz'
for alpha in alphabet:
cnt[alpha] = 0
for alpha in S:
cnt[alpha] += 1
print(' '.join(map(str, list(cnt.values()))))
완성된 코드는 위와 같다,
주목할 점은 두가지로 1. 딕셔너리 만들기 , 2. 닥셔너리 출력 부분이다
딕셔너리를 만들 때 수작업이 아닌 변수에 모든 알파벳을 넣고 for 반복문을 한번 더 사용해 아무것도 없는 딕셔너리에 하나씩 추가하는 형식이용.
딕셔너리의 value 값들을 출력할 때 join() 함수를 이용. 이때 join은 문자일 때 가능하기 때문에 정수형인 values 를 str로 바꾸기 위해 map() 함수 이용함.
반응형
'파이썬(Python) > 문제풀이(백준,BaekJoon)' 카테고리의 다른 글
백준 10773 (제로) [Python/파이썬] [Implement/구현] (0) | 2023.10.15 |
---|---|
백준 1193 (분수찾기) [Python/파이썬] [Implement/구현] (0) | 2023.10.14 |
백준 11050 (이항 계수1) [Python/파이썬] [Implement/구현] (0) | 2023.10.13 |
백준 11721 (열 개씩 끊어 출력하기) [Python/파이썬] [Implement/구현] (0) | 2023.10.13 |
백준 2442 (별 찍기-5) [Python/파이썬] [Implement/구현] (0) | 2023.10.11 |