반응형
문제 설명
문자열 my_string이 매개변수로 주어집니다. my_string에서 중복된 문자를 제거하고 하나의 문자만 남긴 문자열을 return하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ my_string ≤ 110
- my_string은 대문자, 소문자, 공백으로 구성되어 있습니다.
- 대문자와 소문자를 구분합니다.
- 공백(" ")도 하나의 문자로 구분합니다.
- 중복된 문자 중 가장 앞에 있는 문자를 남깁니다.
이 문제에서 주의해야 할 점은 null값과 빈 값, 그리고 undefined된 값의 차이이다.
null값은 없는 값이고 빈 값은 변수를 사용할 수 있도록 초기화가 된 빈 값이고, undefined된 값은 선언만 되었지 초기화되지 않은 값을 말한다.
중복된 인덱스의 값들을 제거하는 것이 아닌 빈 값으로 만들어 주고 스트링에 더해 줬다.
사실 풀이 방법은 다양하다. LinkedHashSet을 이용한 풀이도 되고 charAt을 사용한 풀이도 가능하다.
import java.util.*;
class Solution {
public String solution(String my_string) {
String answer = "";
String[] arr = my_string.split("");
List<String> list = new ArrayList<>(Arrays.asList(arr));
for(int i = 0; i<list.size();i++){
for(int j = i+1;j<list.size();j++){
if(list.get(i).equals(list.get(j)))list.set(j,"");
}
}
for(String st : list)answer+=st;
return answer;
}
}
반응형
'코딩테스트 > Programmers_LV0' 카테고리의 다른 글
Programmers_JAVA_A로 B 만들기 (0) | 2022.11.21 |
---|---|
Programmers_JAVA_K의 개수 (0) | 2022.11.21 |
Programmers_JAVA_삼각형의 완성조건 (0) | 2022.11.18 |
Programmers_JAVA_가까운 수 (0) | 2022.11.17 |
Programmers_JAVA_369게임 (0) | 2022.11.16 |