[Java] 학급 회장

전.java / / 2023. 1. 27. 17:12
728x90

- 후보 A, B, C, D, E 중 당선된 학급 회장 반환

 

(입력)

ACBBDEABCDDBC
CCBBABEBCD

 

(출력)

 

# int[5] 배열 만들어서 득표수 ++


public class Main {

    private char solution(String s) {
        char answer = 'A';
        int[] vote = new int[5];

        for (int i=0; i<s.length(); i++) {
            vote[(int)s.charAt(i)-65]++;
        }

        int max = vote[0];

        for(int i=1; i<vote.length; i++) {
            if(vote[i]>max) {
                max = vote[i];
                answer = (char) (65+i);
            }
        }
        return answer;
    }

    public static void main(String[] args) {
        Main T = new Main();
        System.out.println(T.solution("ACBBDEABCDDBC")); // B
        System.out.println(T.solution("CCBBABEBCD")); // B
    }
}

 

 

# HashMap 사용

import java.util.HashMap;

public class Main {

    private char solution(String s) {
        char answer = ' ';
        HashMap<Character, Integer> map = new HashMap<>();

        for(char c : s.toCharArray()) {
            map.put(c, map.getOrDefault(c, 0)+1);
        }

        int max = Integer.MIN_VALUE;
        for(char key : map.keySet()) {
            if(map.get(key)>max) {
                max = map.get(key);
                answer=key;
            }
        }

        return answer;
    }

    public static void main(String[] args) {
        Main T = new Main();
        System.out.println(T.solution("ACBBDEABCDDBC")); // B
        System.out.println(T.solution("CCBBABEBCD")); // B
    }
}

- getOrDefault(Object key, V DefaultValue) : 찾는 키가 존재하면 찾는 키의 값을 반환하고 없으면 기본 값을 반환

 

 

# 휴..

- 파이썬 딕셔너리처럼 어떻게 쓰나 했더니 HashMap을 사용하는거였군..

반응형

'전.java' 카테고리의 다른 글

[Java] 한번 사용한 최초 문자  (0) 2023.01.27
2023.01.27(금)  (0) 2023.01.27
[Java] 특정 문자 뒤집기  (0) 2023.01.27
[Java] 회문 문자열 2  (0) 2023.01.27
[Java] 회문 문자열  (0) 2023.01.27
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기