CS/Algorithm 문제

[BaekJoon] 백준 4358번 생태학

[BaekJoon] 백준 4358번 생태학

 

🎈문제

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

💬설명

  • 문제에는 트라이 알고리즘이라고 적혀있었지만 dictionary로만 풀어도 풀리는 문제였다.
  • 포인트
    1. 데이터가 크기 때문에 시간을 최대한 줄여줘야 했다. (pypy로 하지 않고 python으로 채점해도 되긴 함)
    2. 입력이 언제 끝나는지 따로 표시해주지 않는다. 입력이 끝났는지 따로 체크해줘야 함
    3. 출력 시 소수점 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))

 

👉참고

https://alpyrithm.tistory.com/75

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