minghxx.blog
  • [프로그래머스 / 자바] 중복된 문자 제거
    2023년 10월 25일 09시 15분 06초에 업로드 된 글입니다.
    작성자: 민발자
    728x90

    문제

    문자열 my_string이 매개변수로 주어집니다.
    my_string에서 중복된 문자를 제거하고 하나의 문자만 남긴 문자열을 return 하도록 solution 함수를 완성해주세요.

    풀이

    class Solution {
        public String solution(String my_string) {
            String answer = "";
            for (int i = 0; i < my_string.length(); i++) {
                if(my_string.indexOf(my_string.charAt(i)) == i) {
                	answer += my_string.charAt(i);
                }
            }
            return answer;
        }
    }

    indexOf() 메서드는 문자를 찾으면 해당 문자의 인덱스를 반환하고 없으면 -1을 반환한다(여기서는 자기자신을 검색하기 때문에 -1이 나올 일은 없다!) 반환된 인덱스의 값이 반복문을 돌고 있는 i와 값이 다르면 이전에 존재하는 문자다

     

    참고할만한 다른 사람 풀이

    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);
        }
    }

    set은 중복이 불가능!

    728x90
    댓글