728x90

- a, b, c 로 이루어진 문자열에서 최소의 개수를 추가하여 빈도수가 동일하게 함

- 최소 추가 개수 배열 반환

 

(입력)

"aaabc"

"aabb"

"abc"

 

 

(출력)

 

 

# HashMap, ArrayList 사용

import java.util.ArrayList;
import java.util.HashMap;

public class Main {

    private ArrayList<Integer> solution(String s) {

        HashMap<Character, Integer> map = new HashMap<>();
        ArrayList<Integer> result = new ArrayList<>();

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

        String abc = "abc";
        int max = -1;
        for(char key : abc.toCharArray()) {
            if(map.getOrDefault(key, 0)>max) max=map.getOrDefault(key, 0);
        }

        for(char key : abc.toCharArray()) {
            result.add(max-map.getOrDefault(key, 0));
        }

        return result;
    }

    public static void main(String[] args) {
        Main T = new Main();
        System.out.println(T.solution("aaabc")); // [0, 2, 2]
        System.out.println(T.solution("aabb")); // [0, 0, 2]
        System.out.println(T.solution("abc")); // [0, 0, 0]
    }
}

 

 

# 휴..

- ArrayList..

반응형

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

[Java] 음성인식  (0) 2023.01.30
[Java] 팰린드롬 길이  (0) 2023.01.30
[Java] 한번 사용한 최초 문자  (0) 2023.01.27
2023.01.27(금)  (0) 2023.01.27
[Java] 학급 회장  (0) 2023.01.27
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기