[백준] 4358 - 생태학
1. 문제
2. 개요
나무들을 입력받아 각 나무의 분포도를 사전 순으로 소수점 4자리까지 출력하는 문제.
3. 코드 및 추가내용
import sys
trees = {}
num = 0.0
while True:
tree = sys.stdin.readline().rstrip()
if tree == '':
break
num += 1
if tree not in trees:
trees[tree] = 1
else:
trees[tree] += 1
for tree in trees.keys():
trees[tree] = trees[tree] / num * 100
for name, percent in sorted(trees.items()):
print('%s %.4f' %(name, percent))
마지막을 알리는 입력이 주어지지 않아서 처음엔 이게뭐지 싶었는데 그냥 빈 값으로 처리가 됐다.
tree를 계속 입력받는데 이게 빈 값이라면 break로 탈출하고, 아니라면 나무의 수를 카운팅하며
딕셔너리를 갱신해나간다.
입력이 모두 끝났다면 분포도를 계산하고 이를 사전순으로 정렬해 소수점 4자리까지 출력한다.
Comments