프로그래머스 : 중복된 문자 제거

Digeut·2023년 4월 9일
0

프로그래머스

목록 보기
36/164

❔문제설명

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

⚠️제한사항

1 ≤ my_string ≤ 110
my_string은 대문자, 소문자, 공백으로 구성되어 있습니다.
대문자와 소문자를 구분합니다.
공백(" ")도 하나의 문자로 구분합니다.
중복된 문자 중 가장 앞에 있는 문자를 남깁니다.

🤔아이디어

문자열을 char로 하나하나 잘라낸다음, 문자열리스트에 넣을때 같지 않은 경우만 넣는 반복문을 만들면 되나? 앞 뒤에 같은 값이 있는지를 비교하기에는 비교 대상이 전 문자열에 있으니까 그건 안되고...

💡코드풀이

import java.util.*;

class Solution {
    public String solution(String my_string) {
        char[] charArr = my_string.toCharArray();
        List<String> arr = new ArrayList();
        
        for(int i = 0 ; i < my_string.length() ; i++ ){
            if(!arr.contains(String.valueOf(my_string.charAt(i)))){
                arr.add(String.valueOf(my_string.charAt(i)));
            }
        }
        return  String.join("",arr);
    }
}
// join("추가할 문자", "대상 list")
// join("추가할 문자", "대상 Array")

char을 통해 나눈 값들을 List에 넣을때 중복된 값이 들어가지 않게 if문을 걸어서 같은 char과 List의 같은 인덱스 값을 비교해서 반복문을 통해 넣을수 있다. join을 이용해서 리스트와 배열을 합칠수 있다.

profile
개발자가 될 거야!

0개의 댓글