[PS] 프로그래머스 한 번만 등장한 숫자

이진용·2023년 3월 27일
0
post-custom-banner

문제 설명

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

생각해보기

  1. 문자열의 각 문자에 대해 <문자, 문자의 개수>로 그루핑한다.
  2. 문자의 개수가 1인 것만 남긴다.
  3. 오름차순 정렬한다.
  4. String으로 합친다.

풀이

import java.util.*;
import java.util.stream.*;
class Solution {
    public String solution(String s) {
        return s.chars()
            .mapToObj(i -> (char)i)
            .collect(
                Collectors.groupingBy(c -> c, Collectors.summingInt(c -> 1))
            )
            .entrySet().stream()
            .filter(e -> e.getValue()==1)
            .map(Map.Entry::getKey)
            .sorted()
            .reduce(
                new StringBuilder(),
                StringBuilder::append,
                StringBuilder::append
            )
            .toString();
        
    }
}

profile
멋있는 개발자가 되어야지.
post-custom-banner

0개의 댓글