JAVA/프로그래머스 코딩테스트 입문

[프로그래머스, LV.0] 한 번만 등장한 문자

sundori 2024. 12. 10. 17:07

목차

    문제 설명

    문자열 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