Park DJ
dj0998
Park DJ
전체 방문자
오늘
어제
  • 분류 전체보기 (363)
    • 백준 (363)

공지사항

인기 글

태그

  • 백준 16194
  • Java
  • 백준 6550
  • 백준 15655
  • 백준 24039
  • 백준 15312
  • 백준 1914
  • 백준 2225
  • 백준 1011
  • 백준 3049
  • 백준 4659
  • 백준 2343
  • 백준 2467
  • 백준
  • 자바
  • 백준 7567
  • 백준 3135
  • 백준 7662
  • 백준 14582
  • 백준 15961
  • 백준 16926
  • 백준 1495
  • 백준 10709
  • 백준 1531
  • 백준 1747
  • 백준 8892
  • 백준 2591
  • 백준 12871
  • 백준 1064
  • 백준 12605
hELLO · Designed By 정상우.
Park DJ

dj0998

백준 4358 생태학(Java)
백준

백준 4358 생태학(Java)

2023. 2. 12. 01:26

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

 

4358번: 생태학

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

www.acmicpc.net


 

해석 및 팁

 


 

이 문제는 EOF에 유의하면서 HashMap을 사용하면 되는 문제입니다. HashMap에 이름과 개수를 저장하고 ArrayList에 key값을 저장한 후에 정렬해 줍니다. 그다음 ArrayList에 있는 key값을 가지고 HashMap에서 value를 구하면 되는 문제입니다.

 


 

Java 코드

 


import java.util.Scanner;
import java.util.Collections;
import java.util.ArrayList;
import java.util.HashMap;

public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    StringBuilder sb = new StringBuilder();
    HashMap<String, Integer> map = new HashMap<>();
    ArrayList<String> list = new ArrayList<>();

    int count = 0;
    
    while(sc.hasNext()) {
      String str = sc.nextLine();
      if(!map.containsKey(str)) map.put(str, 1);
      else map.put(str, map.get(str) + 1);
      count++;
    }

    for(String key : map.keySet()) list.add(key);

    Collections.sort(list);

    for(int i = 0; i < list.size(); i++) {
      int num =  map.get(list.get(i)) * 100;
      String n = String.format("%.4f", (double)num / (double)count);
      sb.append(list.get(i)+" "+n).append("\n");
    }

    System.out.print(sb);
  }
}

'백준' 카테고리의 다른 글

백준 9658 돌 게임4(Java)  (0) 2023.02.12
백준 11501 주식(Java)  (0) 2023.02.12
백준 24479 알고리즘 수업(Java)  (0) 2023.02.12
백준 15665 N과 M (11)(Java)  (0) 2023.02.11
백준 2210 숫자판 점프(Java)  (0) 2023.02.11
    '백준' 카테고리의 다른 글
    • 백준 9658 돌 게임4(Java)
    • 백준 11501 주식(Java)
    • 백준 24479 알고리즘 수업(Java)
    • 백준 15665 N과 M (11)(Java)
    Park DJ
    Park DJ

    티스토리툴바