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

2023. 2. 10. 19:30알고리즘

728x90

문제 설명

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

제한사항

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

입출력 예

입출력 예 설명

입출력 예 #1

  • "abcabcadc"에서 하나만 등장하는 문자는 "d"입니다.

입출력 예 #2

  • "abdc"에서 모든 문자가 한 번씩 등장하므로 사전 순으로 정렬한 "abcd"를 return 합니다.

입출력 예 #3

  • "hello"에서 한 번씩 등장한 문자는 "heo"이고 이를 사전 순으로 정렬한 "eho"를 return 합니다.

코드 설명


import java.util.Arrays;
import java.util.Scanner;

public class Solution {
	public String solution(String s) {
        String answer = "";  
        char[] c = s.toCharArray(); // 문자배열 c에 s문자들 담음.
        Arrays.sort(c); // 문자들을 정렬해주고
        
        for (int i = 0; i < c.length; i++) {
        	int cnt = 0;
        	for (int j = 0; j < c.length; j++) {
        		if (c[i] == c[j]) { // c[i] == c[j]랑 같으면 cnt++
        			cnt++;
        		}
        	}
        	if (cnt == 1) { // cnt == 1이 되면 answer에 c[i] 값을 넣어줌(1번만 들어가있는 문자)
        		answer += c[i];
        	}
        }
        
        return answer;
    }
	public static void main(String[] args) {
		Solution T = new Solution();
		Scanner sc = new Scanner(System.in);
		String s = sc.next();
		System.out.println(T.solution(s));
		sc.close();
	}
}
728x90