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 |