생태학

시간 제한1초메모리 제한256 MB

요약
나무 종 이름이 한 줄에 하나씩 주어질 때, 종별 등장 횟수를 세고 전체에서 차지하는 비율을 소수점 넷째 자리까지 반올림해 사전순으로 출력한다.
난이도

쉬움10점 중 3점

유형
해시맵, 문자열, 정렬
정답자
아직 제출이 없습니다

문제

생태학에서 나무의 분포를 측정하는 일은 중요하다. 미국 전역에서 자라는 나무들의 목록이 주어질 때, 각 나무 종이 전체 나무 중에서 몇 %를 차지하는지 구하는 프로그램을 작성하라.

입력

입력은 여러 줄로 이루어지며, 한 줄에 나무 종의 이름이 하나씩 주어진다. 종 이름의 길이는 30글자를 넘지 않는다. 종은 최대 10,000가지이고, 나무는 최대 1,000,000그루까지 주어질 수 있다. 종 이름에는 공백이 포함될 수 있으므로, 한 줄 전체를 하나의 종 이름으로 취급한다.

출력

입력에 등장한 모든 종의 이름을 사전순으로 정렬하여 출력한다. 각 이름 뒤에는 그 종이 전체 나무에서 차지하는 비율을 백분율로 계산하여 소수점 넷째 자리까지 반올림한 값을 함께 출력한다. 백분율은 (해당 종의 그루 수) × 100 ÷ (전체 그루 수)로 계산하며, 이름과 값은 공백 하나로 구분한다.

힌트

입력에는 영문 대소문자, 공백 문자, 숫자, 특수문자만 포함될 수 있다.

예제2

  1. 예제 1

    입력
    Red Alder
    Ash
    Aspen
    Basswood
    Ash
    Beech
    Yellow Birch
    Ash
    Cherry
    Cottonwood
    Ash
    Cypress
    Red Elm
    Gum
    Hackberry
    White Oak
    Hickory
    Pecan
    Hard Maple
    White Oak
    Soft Maple
    Red Oak
    Red Oak
    White Oak
    Poplan
    Sassafras
    Sycamore
    Black Walnut
    Willow
    
    예상 출력
    Ash 13.7931
    Aspen 3.4483
    Basswood 3.4483
    Beech 3.4483
    Black Walnut 3.4483
    Cherry 3.4483
    Cottonwood 3.4483
    Cypress 3.4483
    Gum 3.4483
    Hackberry 3.4483
    Hard Maple 3.4483
    Hickory 3.4483
    Pecan 3.4483
    Poplan 3.4483
    Red Alder 3.4483
    Red Elm 3.4483
    Red Oak 6.8966
    Sassafras 3.4483
    Soft Maple 3.4483
    Sycamore 3.4483
    White Oak 10.3448
    Willow 3.4483
    Yellow Birch 3.4483
    
  2. 예제 2

    입력
    Oak
    
    예상 출력
    Oak 100.0000