문제 설명
문자열 s가 매개변수로 주어집니다. s에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. 한 번만 등장하는 문자가 없을 경우 빈 문자열을 return 합니다.
제한사항
0 < s의 길이 < 1,000
s는 소문자로만 이루어져 있습니다.
입출력 예
s result
"abcabcadc" "d"
"abdc" "abcd"
"hello" "eho"
import java.util.*;
class Solution {
public String solution(String s) {
Map<Character, Integer> frequency = new HashMap<>();
for (char c : s.toCharArray()) {
frequency.put(c, frequency.getOrDefault(c, 0) + 1);
}
List<Character> uniqueChars = new ArrayList<>();
for (Map.Entry<Character, Integer> entry : frequency.entrySet()) {
if (entry.getValue() == 1) {
uniqueChars.add(entry.getKey());
}
}
Collections.sort(uniqueChars);
StringBuilder result = new StringBuilder();
for (char c : uniqueChars) {
result.append(c);
}
return result.toString();
}
}
GPT로 풀었다(?).
이제 슬슬 답변이 길어진다.
'코딩테스트 연습' 카테고리의 다른 글
문자열이 몇 번 등장하는지 세기 (0) | 2024.04.20 |
---|---|
배열의 길이를 2의 거듭제곱으로 만들기 (0) | 2024.04.20 |
가까운 수 (0) | 2024.04.20 |
k의 개수 (0) | 2024.04.20 |
A로 B 만들기 (0) | 2024.04.20 |