반응형
문제 풀이
1. dictionary 자료구조를 활용하여 각 나무의 등장 횟수를 세어줍니다.
2. 이 때, defaultdict를 사용하면, 해당 나무가 이미 등장한 적이 있는지 검사하는 코드를 작성할 필요가 없습니다.
3. format 함수를 이용하여 각 나무의 점유율을 소수점 넷째 자리까지 출력합니다.
Python Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
import sys
from collections import defaultdict
readline = sys.stdin.readline
def main():
dic = defaultdict(int)
tot = 0
try:
while 1:
word = readline().rstrip()
if not word:
break
dic[word] += 1
tot += 1
except EOFError:
exit()
for t in sorted(dic.keys()):
print(t,format(dic[t]/tot*100,'.4f'))
if __name__=='__main__':
main()
|
cs |
문제링크
4358번: 생태학
프로그램은 여러 줄로 이루어져 있으며, 한 줄에 하나의 나무 종 이름이 주어진다. 어떤 종 이름도 30글자를 넘지 않으며, 입력에는 최대 10,000개의 종이 주어지고 최대 1,000,000그루의 나무가 주어
www.acmicpc.net
반응형
'알고리즘 > 백준' 카테고리의 다른 글
백준 20299 3대 측정 (0) | 2020.12.04 |
---|---|
백준 11057 오르막 수 Python (0) | 2020.12.03 |
백준 1520 내리막 길 (0) | 2020.10.20 |
백준 1152 단어의 개수 (0) | 2020.08.31 |
백준 2884 알람 시계 (0) | 2020.05.08 |