목차
문제 설명
문자열 s가 매개변수로 주어집니다. s에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. 한 번만 등장하는 문자가 없을 경우 빈 문자열을 return 합니다.
제한사항
- 0 < s의 길이 < 1,000
- s는 소문자로만 이루어져 있습니다.
import java.util.*;
class Solution {
public String solution(String s) {
// 각 문자의 등장 횟수를 저장할 Map
Map<Character, Integer> charCount = new HashMap<>();
// 문자열의 각 문자에 대해 등장 횟수 카운트
for (char c : s.toCharArray()) {
charCount.put(c, charCount.getOrDefault(c, 0) + 1);
}
// 한 번만 등장하는 문자 추출
List<Character> uniqueChars = new ArrayList<>();
for (Map.Entry<Character, Integer> entry : charCount.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();
}
}
728x90
'JAVA > 프로그래머스 코딩테스트 입문' 카테고리의 다른 글
[프로그래머스, LV.0] A로 B 만들기 (1) | 2024.12.10 |
---|---|
[프로그래머스, LV.0] 7의 개수 (0) | 2024.12.10 |
[프로그래머스, LV.0] 가까운 수 (0) | 2024.12.10 |
[프로그래머스, LV.0] 숨어있는 숫자의 덧셈 (2) (0) | 2024.12.10 |
[프로그래머스, LV.0] 팩토리얼 (0) | 2024.12.10 |