중복된 문자 제거

문제

 


나의 생각

 

String을 배열에 담아서 서로 비교한후 같은 값이 있다면 "" 로변경 하는 방법으로 접근. 

 


나의 답안

 

public static String solution(String my_string) {
    String[] a = new String[my_string.length()];
    for (int i = 0 ; i < my_string.length(); i ++) {
        a[i] = String.valueOf(my_string.charAt(i));
    }
    for (int i = 0 ; i < my_string.length(); i ++){
        for (int j = i+1 ; j < my_string.length(); j++){
            if (a[i].equals(a[j])){
                a[j] = "";
            }
        }
    }

    return Arrays.stream(a).collect(Collectors.joining());
}

다른 답안

 

character를 distinct() 함수를 이용하여 중복값을 제거한게 참으로 간단해 보인다.

import java.util.stream.Collectors;

class Solution {
    public String solution(String my_string) {
        return my_string.chars()
                .mapToObj(Character::toString)
                .distinct()
                .collect(Collectors.joining());
    }
}

'Programmers 문제풀이 > Lv.0' 카테고리의 다른 글

A로 B 만들기  (0) 2023.02.28
모스부호 (1)  (0) 2023.02.28
합성수 찾기  (0) 2023.02.28
문자열 정렬하기 (2)  (0) 2023.02.28
숫자 찾기  (0) 2023.02.28