programmers

[JAVA] 중복된 문자 제거 set

아잠만_ 2024. 3. 14. 10:56
문자열 my_string이 매개변수로 주어집니다. my_string에서 중복된 문자를 제거하고 하나의 문자만 남긴 문자열을 return하도록 solution 함수를 완성해주세요.
입출력 예 #1
"people"에서 중복된 문자 "p"와 "e"을 제거한 "peol"을 return합니다.

풀이1) 반복문을 이용한 풀이

class Solution {
    public String solution(String my_string) {
        String answer = "";
        // 반복문을 위해 단어 쪼갬
        String arr[] = my_string.split("");
        for(int i=0; i<arr.length;i++){
            for(int j=1; j<arr.length;j++){
            	//값이 중복된 경우
                if(arr[i].equals(arr[j])){
                	//앞 문자를 남기기 위해 조건
                    if(i!=j) arr[j]="";  
                }
            }
        }
        //문자 입력
        for(int i=0; i<arr.length; i++){
            answer+=arr[i];
        }
        return answer;
    }
}

풀이2) 중복되지 않는 set을 활용한 풀이

import java.util.*;
class Solution {
    public String solution(String my_string) {
        String[] answer = my_string.split("");
        Set<String> set = new LinkedHashSet<String>(Arrays.asList(answer));
        return String.join("", set);
    }
}