Python/BAEKJOON

python 4358번 생태학 (백준)

rofn123 2025. 2. 27. 17:05
import sys
x = sys.stdin.read().splitlines()
d={}
c=0
for y in x:
    c+=1
    if y in d:
        d[y]+=1
    else:
        d[y]=1
d=sorted(d.items())
for y,z in d:
    print("%s %.4f"%(y,(100*z)/c))

풀이 : map (key-value)

 

map에 없던 key라면 value값을 1로 한 채로 집어넣습니다.

map에 있다면 value값을 1증가시킵니다.

또한 입력받은 문자열의 개수도 구해놓습니다.

 

map을 사전순으로 key를 정렬한다음

이름과 이때의 나무가 차지하고 있는 %를 소수점 네자리까지 출력하면 됩니다.

 

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