[ 프로그래머스 ][ Java ] 한 번만 등장한 문자

chorok ☘️·2025년 8월 22일
0

코딩테스트

목록 보기
41/54
post-thumbnail

코딩테스트 연습 > 코딩테스트 입문 > 한 번만 등장한 문자

⚡ 문제 설명

문자열 s가 매개변수로 주어집니다. s에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. 한 번만 등장하는 문자가 없을 경우 빈 문자열을 return 합니다.

⚡ 제한사항

  • 0 < s의 길이 < 1,000
  • s는 소문자로만 이루어져 있습니다.

⚡ 입출력 예

sresult
"abcabcadc""d"
"abdc""abcd"
"hello""eho"

⚡ 구현코드

import java.util.*;

class Solution {
    public String solution(String s) {
        HashMap<Character, Integer> charMap = new HashMap<>();
        for(int i=0; i<s.length(); i++){
            charMap.put(s.charAt(i), charMap.getOrDefault(s.charAt(i), 0)+1);
        }
        
        // value가 1인 key 찾기
        List<Character> uniqueChars = new ArrayList<>();
        for(char c : charMap.keySet()){
            if( charMap.get(c) == 1){
                uniqueChars.add(c);
            }
        }
        
        // 알파벳순 정렬
        Collections.sort(uniqueChars);

        String answer = "";
        for(char c : uniqueChars){
            answer += c;
        }
        
        return answer;
    }
}

⚡ 구현코드 해설

  • 문자열 s에 등장하는 알파벳을 key로, 해당 알파벳의 갯수를 value로 HashMap을 만들었다.
  • HashMap에서 value가 1인 key를 찾아 List에 저장하였다.
  • List를 알파벳순으로 정렬하였다.
profile
백엔드 개발자 chorok's velog

0개의 댓글