https://www.acmicpc.net/problem/4358
풀이
1, 나무의 이름들을 딕셔너리 자료형의 forest에 담아준다.
2, item( ) 메서드를 이용하여 튜플로 묶인 키와 값을 뽑아줍니다.
3, 뽑은 값들을 sorted( )를 이용해서 사전순으로 바꿔줍니다.
4. 다시 딕셔너리로 만든 뒤에 for문을 이용하여 개수와 반올림을 소수점 4번째 자리까지 나타내어준다.
(반올림처리는 f-string이나 formating을 이용하여도 상관없다.)
# 4358번 생태학
import sys
total = 0
forest = dict()
while True:
tree = sys.stdin.readline().rstrip()
if tree == '':
break
total += 1
if tree in forest:
forest[tree] += 1
else:
forest[tree] = 1
s_forest = dict(sorted(forest.items()))
for tree in s_forest:
print(f"{tree} {s_forest[tree]/total*100:.4f}")
출력결과
'백준 > 구현' 카테고리의 다른 글
[백준] 10773번 제로 - 파이썬 (0) | 2022.04.06 |
---|---|
[백준] 6996번 애너그램 - 파이썬 (0) | 2022.04.05 |
[백준] 4458번 첫 글자를 대문자로 - 파이썬 (0) | 2022.04.03 |
[백준] 3059번 등장하지 않는 문자의 합 - 파이썬 (0) | 2022.04.02 |
[백준] 10987번 모음의 개수 - 파이썬 (0) | 2022.04.01 |