본문 바로가기

프로그래머스/lv0

한 번만 등장한 문자

/* 한 번만 등장한 문자
 * 문자열 s가 매개변수로 주어집니다.
 * s에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 return 하도록
 * solution 함수를 완성해보세요.
 * 한 번만 등장하는 문자가 없을 경우 빈 문자열을 return 합니다.
 *
 * s            result
 * "abcabcadc"  "d"     "abcabcadc"에서 하나만 등장하는 문자는 "d"입니다
 * "abdc"       "abcd"  "abdc"에서 모든 문자가 한 번씩 등장하므로 사전 순으로 정렬한 "abcd"를 return
 * "hello"      "eho"   "hello"에서 한 번씩 등장한 문자는 "heo"이고 이를 사전 순으로 정렬한 "eho"를 return
 */
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import java.util.*;
public class programmer_0_21 {
    // static String a1 = "abcabcadc";
    static String a1 = "dcaabb";
    static String a2 = "abdc";
    static String a3 = "hello";
 
    public String solution(String s) {
        String answer = "";
        String[] ar = s.split("");
        String[] compare = s.split("");
        Arrays.sort(ar);
        Arrays.sort(compare);
        for(int i = 0; i < ar.length; i++){
            int cnt = 0;
            for(int k = 0; k < compare.length; k++){
                if(compare[k].equals(ar[i]))    cnt++;
            }
            if(cnt == 1) answer += ar[i];
        }
 
        return answer;
    }
    public static void main(String args[]){
        programmer_0_21 t = new programmer_0_21();
        System.out.println("---------------------------------------");
        System.out.println("result = " + t.solution(a1));
        System.out.println("---------------------------------------");
        // System.out.println("result2 = " + t.solution(a2));
        // System.out.println("---------------------------------------");
        // System.out.println("result3 = " + t.solution(a3));
        // System.out.println("---------------------------------------");
    }
}
cs

'프로그래머스 > lv0' 카테고리의 다른 글

편지  (0) 2022.12.06
약수 구하기  (0) 2022.12.05
인덱스 바꾸기  (0) 2022.12.05
영어가 싫어요  (0) 2022.12.05
대문자와 소문자  (0) 2022.12.05