programmers
문자열 my_string이 매개변수로 주어집니다. my_string에서 중복된 문자를 제거하고 하나의 문자만 남긴 문자열을 return하도록 solution 함수를 완성해주세요.
입출력 예 #1
"people"에서 중복된 문자 "p"와 "e"을 제거한 "peol"을 return합니다.
입출력 예 #2
"We are the world"에서 중복된 문자 "e", " ", "r" 들을 제거한 "We arthwold"을 return합니다.
import java.util.LinkedHashSet;
class Solution {
public String solution(String my_string) {
// StringBuilder 를 사용해본다.
StringBuilder answer = new StringBuilder();
// 중복 허용이 안돼고, 결과값이 순서대로 추가되는 LinkedHashSet 을 사용한다.
LinkedHashSet<Character> set = new LinkedHashSet<>();
// LinkedHashSet 에 my_string 의 char 를 중복 없는 값으로 넣는다.
for (char c : my_string.toCharArray()) {
set.add(c);
}
// StringBuilder 에도 넣는다.
for (char c : set) {
answer.append(c);
}
// String 타입으로 변환한다.
return answer.toString();
}
}
import java.util.*;
import java.util.stream.Collectors;
class Solution {
public String solution(String my_string) {
//stream
return Arrays.stream(myString.split(""))
.distinct()
.collect(Collectors.joining());
}
}
HashSet
중복 허용 안함
순서 보장 안함
빠른 접근 속도LinkedHashSet
중복 허용 안함
순서 보장
빠른 접근 속도