본문 바로가기
백준 알고리즘

파이썬) 백준 알고리즘 | 4358번 : 생태학

by 코딩새내기_ 2022. 3. 2.

https://www.acmicpc.net/problem/4358

 

4358번: 생태학

프로그램은 여러 줄로 이루어져 있으며, 한 줄에 하나의 나무 종 이름이 주어진다. 어떤 종 이름도 30글자를 넘지 않으며, 입력에는 최대 10,000개의 종이 주어지고 최대 1,000,000그루의 나무가 주어

www.acmicpc.net

백준 4358 '생태학' 문제입니다.

dict을 이용해서 정보를 저장하고 총 개수를 카운트합니다.

마지막에서는 리스트로 변환하여 정렬해주고 출력했습니다.

import sys
input = sys.stdin.readline
cnt = 0
s = dict()
while True:
    name = input().strip()
    if not name:
        break
    if name not in s.keys():
        s[name] = 1
    else:
        s[name] += 1
    cnt += 1
info = []
for i, (key,val) in enumerate(s.items()):
    info.append([key,(val/cnt)*100])
info.sort(key = lambda x : (x[0]))
for i in range(len(info)):
    print('{} {:.4f}'.format(info[i][0], info[i][1]))

댓글