μ•Œκ³ λ¦¬μ¦˜/λ°±μ€€

[ λ°±μ€€ / BOJ 1302 ] λ² μŠ€νŠΈμ…€λŸ¬ ( JAVA / μžλ°” )

KIMHYEYUN 2021. 10. 3. 14:35
λ°˜μ‘ν˜•

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

 

1302번: λ² μŠ€νŠΈμ…€λŸ¬

첫째 쀄에 였늘 ν•˜λ£¨ λ™μ•ˆ νŒ”λ¦° μ±…μ˜ 개수 N이 μ£Όμ–΄μ§„λ‹€. 이 값은 1,000보닀 μž‘κ±°λ‚˜ 같은 μžμ—°μˆ˜μ΄λ‹€. λ‘˜μ§ΈλΆ€ν„° N개의 쀄에 μ±…μ˜ 제λͺ©μ΄ μž…λ ₯으둜 λ“€μ–΄μ˜¨λ‹€. μ±…μ˜ 제λͺ©μ˜ κΈΈμ΄λŠ” 50보닀 μž‘κ±°λ‚˜ κ°™κ³ 

www.acmicpc.net

 

문제


κΉ€ν˜•νƒμ€ νƒ‘λ¬Έκ³ μ˜ 직원이닀. κΉ€ν˜•νƒμ€ κ³„μ‚°λŒ€μ—μ„œ 계산을 ν•˜λŠ” 직원이닀. κΉ€ν˜•νƒμ€ κ·Έλ‚  근무가 λλ‚œ 후에, 였늘 νŒλ§€ν•œ μ±…μ˜ 제λͺ©μ„ λ³΄λ©΄μ„œ κ°€μž₯ 많이 νŒ”λ¦° μ±…μ˜ 제λͺ©μ„ μΉ νŒμ— μ¨λ†“λŠ” 일도 같이 ν•˜κ³  μžˆλ‹€.

였늘 ν•˜λ£¨ λ™μ•ˆ νŒ”λ¦° μ±…μ˜ 제λͺ©μ΄ μž…λ ₯으둜 듀어왔을 λ•Œ, κ°€μž₯ 많이 νŒ”λ¦° μ±…μ˜ 제λͺ©μ„ 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

μž…λ ₯


첫째 쀄에 였늘 ν•˜λ£¨ λ™μ•ˆ νŒ”λ¦° μ±…μ˜ 개수 N이 μ£Όμ–΄μ§„λ‹€. 이 값은 1,000보닀 μž‘κ±°λ‚˜ 같은 μžμ—°μˆ˜μ΄λ‹€. λ‘˜μ§ΈλΆ€ν„° N개의 쀄에 μ±…μ˜ 제λͺ©μ΄ μž…λ ₯으둜 λ“€μ–΄μ˜¨λ‹€. μ±…μ˜ 제λͺ©μ˜ κΈΈμ΄λŠ” 50보닀 μž‘κ±°λ‚˜ κ°™κ³ , μ•ŒνŒŒλ²³ μ†Œλ¬Έμžλ‘œλ§Œ 이루어져 μžˆλ‹€.

좜λ ₯


첫째 쀄에 κ°€μž₯ 많이 νŒ”λ¦° μ±…μ˜ 제λͺ©μ„ 좜λ ₯ν•œλ‹€. λ§Œμ•½ κ°€μž₯ 많이 νŒ”λ¦° 책이 μ—¬λŸ¬ 개일 κ²½μš°μ—λŠ” 사전 순으둜 κ°€μž₯ μ•žμ„œλŠ” 제λͺ©μ„ 좜λ ₯ν•œλ‹€.

풀이


Map 을 μ΄μš©ν•΄μ„œ κ°„λ‹¨ν•˜κ²Œ ν•΄κ²°

 

Map에 각 μ±…μ˜ νŒ”λ¦° 수λ₯Ό μ €μž₯ πŸ‘‰ νŒ”λ¦° μˆ˜κ°€ 높은 순으둜, κ°™μœΌλ©΄ 제λͺ©μ΄ λΉ λ₯Έ 순으둜 μ •λ ¬ πŸ‘‰ κ°€μž₯ 처음 μ±… 제λͺ© 좜λ ₯‼️

μ½”λ“œ


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Map;

public class Main_BOJ_1302_λ² μŠ€νŠΈμ…€λŸ¬ {
    public static void main(String[] args) throws NumberFormatException, IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        
        int N = Integer.parseInt(br.readLine());

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

        while(N-- > 0){
            String title = br.readLine();
            books.put(title, books.getOrDefault(title, 0)+1);
        }

        ArrayList<String> titleSet = new ArrayList<>(books.keySet());
        Collections.sort(titleSet, new Comparator<String>(){
            @Override
            public int compare(String o1, String o2) {
                int result = books.get(o2)-books.get(o1);

                if(result == 0)
                    result = o1.compareTo(o2);

                return result;
            }
        });

        System.out.println(titleSet.get(0));
    }
}

 

728x90
λ°˜μ‘ν˜•