
문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음
Dothraki는 왕 로버트의 왕좌를 빼앗기 위해 공격을 계획 중이다. 로버트 왕은 레이븐으로부터 이 음모를 들었고 적들이 왕국으로 침입할 수 있는 유일한 문을 잠그기로 계획한다. 하지만 문을 잠그기 위해 팰린드롬의 애너그램인 열쇠가 필요하다. 그는 팰린드롬이 재배열될 수 있는지 확인하기 위해 그의 문자열 상자를 살펴보기 시작했다. 문자열이 주어지고, 팰린드롬으로 재배열할 수 있는지 결정해라.
s = "aabbccdd"
팰린드롬으로 배열하는 한 가지 방법은 abcddcba이다. YES를 반환한다.
gameOfThrones 함수를 완성해라.
gameOfThrones 함수는 아래와 같은 매개변수를 가지고 있다.
예제인 경우에는 쉽게 해결했지만 Hidden Test Case는 해결하기 어려웠다. 히든 테스트 케이스를 열어서 인자값을 커스텀 인풋에 넣으니 50Kb를 넘을 수 없다고 하였고, 메소드를 분리해서 해결하려고 하니 Runtime Error가 발생했다. 원인은 메모리 초과라고 생각이 든다.
public static String gameOfThrones(String s) {
Map<Character, Integer> charCount = new HashMap<>();
for (char c : s.toCharArray()) {
charCount.put(c, charCount.getOrDefault(c, 0) + 1);
}
int oddCount = 0;
for (int count : charCount.values()) {
if (count % 2 != 0) {
oddCount++;
}
}
if (oddCount <= 1) {
return "YES";
} else {
return "NO";
}
}