728x90
- 가장 자주 반복되는 패턴 제거
(입력)
def
xyz
bcbc
BCbc
(출력)
# HasMap 사용
import java.util.HashMap;
public class Main {
private String solution(String s) {
HashMap<Character, Integer> map = new HashMap<>();
String tmp = s.toUpperCase();
String result = "";
for(char c : tmp.toCharArray()) {
map.put(c, map.getOrDefault(c, 0)+1);
}
int max = -1;
for(char key : map.keySet()) {
if(max < map.get(key)) max = map.get(key);
}
for(int i=0; i<s.length(); i++) {
if(map.get(tmp.charAt(i)) < max) result += s.charAt(i);
}
return result;
}
public static void main(String[] args) {
Main T = new Main();
System.out.println(T.solution("abcabcdefabc")); // def
System.out.println(T.solution("abxdeydeabz")); // xyz
System.out.println(T.solution("abcabca")); // bcbc
System.out.println(T.solution("ABCabcA")); // BCbc
}
}
# 휴..
- 반복되는 패턴의 각 문자 개수가 똑같은 걸 이용하면 됐다.
반응형
'전.java' 카테고리의 다른 글
[Java] 가장 가까운 시간 (0) | 2023.01.31 |
---|---|
[Java] 공통 문자 찾기 (0) | 2023.01.31 |
[Java] 팰린드롬 길이 (0) | 2023.01.30 |
[Java] 같은 빈도수 만들기 (1) | 2023.01.30 |
[Java] 한번 사용한 최초 문자 (0) | 2023.01.27 |