[백준] Silver II. 생태학

2024. 7. 22. 18:16·Algorithm/백준

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

 

사용 알고리즘
  • 맵
  • 문자열

 

풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        Map<String, Integer> map = new HashMap<>();
        String input;

        int total = 0;
        while((input = br.readLine()) != null && !input.isEmpty()) {
            map.put(input, map.getOrDefault(input, 0) + 1);
            total++;
        }


        List<String> list = new ArrayList<>(map.keySet());

        Collections.sort(list);
        for (String s : list) {
            double res = (double) map.get(s) / total * 100;
            String portion = String.format("%.4f", res);
            System.out.println(s + " " + portion);
        }

    }
}

 

회고

 

이전까지 항상 n까지의 입력값을 받다가, 그런 조건이 없는 문제를 오랜만에 풀어서 입력값에 시간이 좀 걸렸다.

 

String input;
while((input = br.readLine()) != null && !input.isEmpty()) {
    ...
}

 

이런식으로 로직을 짜면 공백을 입력받기 전까지 입력값을 받는다.

 

그뒤로, String 형태의 리스트를 만들어서 해쉬맵의 keySet을 저장하고, 알파벳 순서대로 정렬해주면 된다.

 

문제에서 요구하는 조건이 소숫점 4째자리까지 반올림을 해주는 것인데, String,format("%.4f" ..)를 사용하면 답을 도출할 수 있다.

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

[그래프] 위상정렬  (1) 2024.07.29
[백준] Silver I. 절댓값 힙  (2) 2024.07.23
[백준] Gold IV. 부분 합  (1) 2024.07.21
[백준] Gold V. 두 용액  (0) 2024.07.20
[백준] Gold V. 수 고르기  (0) 2024.07.20
'Algorithm/백준' 카테고리의 다른 글
  • [그래프] 위상정렬
  • [백준] Silver I. 절댓값 힙
  • [백준] Gold IV. 부분 합
  • [백준] Gold V. 두 용액
미네구스
미네구스
  • 미네구스
    망구스 blog
    미네구스
  • 전체
    오늘
    어제
    • 분류 전체보기 (174)
      • Kotlin (0)
      • 시큐리티 (0)
        • 개발자 유미 (0)
      • 배포 (4)
      • 회고 (0)
      • Algorithm (143)
        • 프로그래머스 코딩테스트 문제풀이전략 (37)
        • 백준 (66)
        • 프로그래머스 (18)
        • Leetcode (22)
        • 코테 팁 (0)
      • 프로젝트 (8)
        • WEPIK (3)
        • PICK-O (5)
      • CS (1)
        • 운영체제 (5)
        • 네트워크 (1)
        • 면접스터디 (2)
      • 면접 (0)
        • 코테후기 (0)
        • 면접후기 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    `
    N과 M
    백트래킹
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
미네구스
[백준] Silver II. 생태학
상단으로

티스토리툴바