본문 바로가기

코딩테스트

코딩테스트 한 번만 등장한 문자 JAVA

한 번만 등장한 문자  JAVA 프로그래머스 코딩테스트

 

출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

 

코딩테스트 연습 | 프로그래머스 스쿨

개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!

school.programmers.co.kr

 

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