한 번만 등장한 문자 JAVA 프로그래머스 코딩테스트
출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges
문자열 s가 매개변수로 주어집니다. s에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. 한 번만 등장하는 문자가 없을 경우 빈 문자열을 return 합니다.
import java.util.*;
class Solution {
String findAndSortUniqueCharacters(String input) {
// 각 문자의 등장 횟수를 저장하는 맵
Map<Character, Integer> charCount = new HashMap<>();
// 각 문자의 등장 횟수를 카운트
for (char c : input.toCharArray()) {
charCount.put(c, charCount.getOrDefault(c, 0) + 1);
}
// 결과를 저장할 StringBuffer
StringBuffer result = new StringBuffer();
// 한 번만 등장하는 문자를 걸러내고 결과에 추가.
charCount.forEach((key, value) -> {
if (value == 1) {
result.append(key);
}
});
// 등장한 문자들을 오름차순으로 정렬.
char[] sortedChars = result.toString().toCharArray();
Arrays.sort(sortedChars);
// StringBuilder를 초기화하고 정렬된 문자를 추가.
result.setLength(0);
result.append(sortedChars);
return result.toString();
}
public String solution(String s) {
return findAndSortUniqueCharacters(s);
}
}
728x90
300x250