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]))
'백준 알고리즘' 카테고리의 다른 글
파이썬) 백준 알고리즘 | 1620번 : 나는야 포켓몬 마스터 이다솜 (0) | 2022.03.02 |
---|---|
파이썬) 백준 알고리즘 | 11659번 : 구간 합 구하기 4 (0) | 2022.03.02 |
파이썬) 백준 알고리즘 | 13414번 : 수강신청 (0) | 2022.03.02 |
파이썬) 백준 알고리즘 | 17219번 : 비밀번호 찾기 (0) | 2022.03.02 |
파이썬) 백준 알고리즘 | 10816번 : 숫자 카드 2 (0) | 2022.03.01 |
댓글