[BaekJoon] 백준 4358번 생태학
🎈문제
https://www.acmicpc.net/problem/4358
💬설명
- 문제에는 트라이 알고리즘이라고 적혀있었지만 dictionary로만 풀어도 풀리는 문제였다.
- 포인트
- 데이터가 크기 때문에 시간을 최대한 줄여줘야 했다. (pypy로 하지 않고 python으로 채점해도 되긴 함)
- 입력이 언제 끝나는지 따로 표시해주지 않는다. 입력이 끝났는지 따로 체크해줘야 함
- 출력 시 소수점 4째자리까지 반올림 해서 출력하라고 하는데 그냥 round만 쓰면 50 -> 50.0000으로 출력하지 않기 때문에 %.4f로 출력해줘야 한다.
👩💻코드
# BaekJoon4358.py
import sys
input = sys.stdin.readline
dic = {}
sum_tree = 0
while True:
text = input().rstrip()
# 입력이 끝나면 반복문 종료
if not text:
break
if text in dic:
dic[text] += 1
else:
dic[text] = 1
sum_tree += 1
sorted_tree = sorted(dic.keys())
for tree in sorted_tree:
print("%s %.4f" % (tree, (dic[tree] / sum_tree) * 100))
👉참고
728x90
반응형
'CS > Algorithm 문제' 카테고리의 다른 글
[Programmers] 이중우선순위큐 (0) | 2021.10.12 |
---|---|
[Programmers] 디스크 컨트롤러 (0) | 2021.10.12 |
[BaekJoon] 백준 2170 선 긋기 (0) | 2021.10.11 |
[BaekJoon] 백준 21609번 상어중학교 (0) | 2021.10.08 |
[Programmers] 더 맵게 (0) | 2021.10.07 |