코딩테스트-알고리즘/백준 BOJ

[백준 BOJ/Bronze I] 1157번 : 단어 공부

닉네임생각즁 2024. 1. 14. 16:18

 

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

 

1157번: 단어 공부

알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.

www.acmicpc.net

import java.util.*;

public class Main {
    public static void main(String[] args) {
        String answer = "";
        Scanner sc = new Scanner(System.in);
        String word = sc.next();
        word = word.toUpperCase(); // 대소문자 구분안하니까 전부 대문자로

        Map<String, Integer> map = new HashMap<>();
        for(int i=0; i<word.length(); i++) {
            String key = "" + word.charAt(i);
            map.put(key,map.getOrDefault(key, 0) + 1);
        }
        int max = Collections.max(map.values()); // 최대값 확인
        List<String> maxList = new ArrayList<>(); // 최대값 가진 알파벳 담는 리스트
        for(String key : map.keySet()) {
            if(map.get(key) == max) {
                maxList.add(key);
            }
        }

        if(maxList.size() == 1) {
            answer = maxList.get(0);
        } else answer = "?";

        System.out.println(answer);
    }
}

 

이 문제는 몇달전에 파이썬으로 풀었던 문젠데 제출했던 코드 보니까 파이썬이 정말정말 편하긴했던거같다

 

이거로 끝ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 파이썬은 정말 멋진 언어다

 

 

백준은 풀었던 문제 다시 풀면 잔디 안심어준다,,,, 언어 다르면 인정해줘야되는거아닌가요🤷‍♀️🤷‍♀️🤷‍♀️🤷‍♀️🤷‍♀️