새로운 블로그로 이전 작업을 진행하고 있어 포스트가 새로 작성되고 있지 않습니다.

빠른 시일 내에 새로운 블로그로 인사드리겠습니다.

새로운 블로그 : https://unho.vercel.app/

본문 바로가기
알고리즘 문제풀이/Python

[백준] 4358 생태학

by 언호 2022. 2. 4.

📖 문제


🧑🏻‍💻 풀이 과정

1) 문제 이해 및 접근

나무의 종의 개수와 나무의 종별 개수를 파악해야하므로 딕셔너리를 이용하여 데이터를 저장하였습니다.

2) 알고리즘

  • 문자열

3) 풀이 코드

사용 언어 - Python

import sys
sys.stdin = open('input.txt')

tree = {}                                               # key: 나무 이름, value: 나무의 개수

for name in sys.stdin.read().strip().split('\n'):       # 모든 입력들
    tree[name] = tree.get(name, 0) + 1                  # 딕셔너리 변수에 나무가 없으면 0으로 초기화 하고 + 1, 이미 있으면 1 증가

total = sum(tree.values())                              # 나무의 총 개수

for k in sorted(tree.keys()):                           # 나무의 종별로 반복
    print(f'{k} {tree[k] / total * 100:.4f}')

📝 결과 및 학습한 내용

1) 어려웠던 내용

특별히 없습니다.

2) 새롭게 학습한 내용

특별히 없습니다.


🔗 문제 링크

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

 

4358번: 생태학

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

www.acmicpc.net

 

 

※ 오류 및 오타, 다른 의견이 있는 경우 댓글을 남겨주시면 감사하겠습니다

댓글