ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [BOJ] 배부른 마라토너
    알고리즘 2023. 12. 21. 22:12

    문제

    마라토너라면 국적과 나이를 불문하고 누구나 참가하고 싶어하는 백준 마라톤 대회가 열린다. 42.195km를 달리는 이 마라톤은 모두가 참가하고 싶어했던 만큼 매년 모두가 완주해왔다. 단, 한 명만 빼고!

    모두가 참가하고 싶어서 안달인데 이런 백준 마라톤 대회에 참가해 놓고 완주하지 못한 배부른 참가자 한 명은 누굴까?

    풀이

    N개만큼의 사람을 Map에 담은 후에 그 후에 나오는 N - 1 개의 사람에 대해서 map에 -1만큼을 반복해준다.
    동명이인이 존재하기 때문에 remove가 아닌 -1감소를 해야 한다.
    계산 후에 value가 0이면 해당 key를 출력한다.

    import java.util.*;
    import java.lang.*;
    import java.io.*;
    
    class Main {
        public static void main(String[] args) throws Exception {
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            Map<String, Integer> map = new HashMap<>();
            int N = Integer.parseInt(br.readLine());
            for(int i = 0; i < N; i++) {
                String str = br.readLine();
                map.put(str, map.getOrDefault(str, 0) + 1);
            }
    
            for(int i = 0; i < N - 1; i++) {
                String str = br.readLine();
                map.put(str, map.get(str) - 1);
            }
    
            for (String s : map.keySet()) {
                if (map.get(s) != 0) {
                    System.out.println(s);
                }
            }
        }
    }

    https://github.com/Win-9/Algorism/tree/main/BOJ/%EB%B0%B0%EB%B6%80%EB%A5%B8%20%EB%A7%88%EB%9D%BC%ED%86%A0%EB%84%88

    728x90

    '알고리즘' 카테고리의 다른 글

    [BOJ] 배열합치기  (0) 2024.01.13
    [BOJ] 사이버개강총회  (1) 2023.12.23
    [BOJ] 쉽게 푸는 문제  (2) 2023.12.21
    [BOJ] 연산자끼워넣기  (0) 2023.12.20
    [BOJ] 빗물  (1) 2023.12.19

    댓글

Designed by Tistory.