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

John·2023년 3월 28일
0

코테 메모🌼

목록 보기
28/28
post-thumbnail

문제 설명

레벨 : 0

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

한 번만 등장하는 문자가 없을 경우 빈 문자열을 return 합니다.


제한 사항

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

풀이

package programmers;

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;

public class 한번만등장한문자 {

    public static void main(String[] args) {

        // result = eho
        String s = "hello";
        System.out.println(solution(s));

    }

    /**
     * @date 2023-03-27
     *
     * 문자열 s가 매개변수로 주어집니다.
     * s에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요.
     * 한 번만 등장하는 문자가 없을 경우 빈 문자열을 return 합니다.
     *
     * @param s
     * @return
     */
    public static String solution(String s) {

        String[] array = s.split("");
        ArrayList<String> answer = new ArrayList<>();

        HashMap<String, Integer> counter = new HashMap<>();
        for(String str : array) {
            counter.put(str, counter.getOrDefault(str, 0) + 1);
        }

        for(String key : counter.keySet()) {
            if(counter.get(key) == 1) {
                answer.add(key);
            }
        }
        Collections.sort(answer);

        StringBuilder sb = new StringBuilder();
        for(String str : answer) {
            sb.append(str);
        }

        return sb.toString();
    }

}

결과


profile
기록을 습관으로

0개의 댓글