한 번만 등장한 문자

Wook·2024년 10월 8일

🧩코딩테스트

목록 보기
45/46
post-thumbnail

문제

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

조건

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

예시

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

풀이

  • 주어진 문자열의 문자 하나하나를 편리하게 비교하기 위해 배열에 나눠서 담는다.
    -> split(String regx)
  • 한 번만 등장하는 문자들을 사전 순으로 정렬하여 반환해야 하므로 배열의 원소들을 오름차순으로 정렬한다. -> Arrays.sort()
  • 중첩 for문을 사용하여 문자 하나씩 모든 문자열을 돌면서 비교하고, 같은 문자가 있다면 변수에 기록한다.
  • 모든 문자열과 비교한 결과 자신과 같은 값을 가진 경우가 자기 자신밖에 없을 경우, 빈 문자열에 해당 문자를 더한다
  • 모든 비교를 마친 뒤 연산이 끝난 문자열을 반환한다.

코드

import java.util.Arrays;

class Solution {
    public String solution(String s) {
        String answer = "";
        String[] arr = s.split("");
        Arrays.sort(arr);
        
        for(int i = 0; i < arr.length; i++){
            int count = 0;
            for(int j = 0; j < arr.length; j ++){
                if(arr[i].equals(arr[j])){
                    count++;
                }
            }
            if(count == 1){
                answer += arr[i];
            }
        }
        return answer;
    }
}
profile
Keep going

0개의 댓글