문자열
my_string
이 매개변수로 주어집니다.my_string
에서 중복된 문자를 제거하고 하나의 문자만 남긴 문자열을 return하도록 solution 함수를 완성해주세요.
제한사항
my_string
≤ 110my_string
은 대문자, 소문자, 공백으로 구성되어 있습니다.function solution(my_string) {
let arr = my_string.split('');
let newArr = [];
for (let i=0; i<arr.length; i++) {
if(!newArr.includes(arr[i])) newArr.push(arr[i])
}
return newArr.join().replaceAll(',', '');
}
나는 중복을 제거할 다른 방법이 떠오르지 않아서 include() 메서드를 사용했다.
function solution(my_string) {
return [...new Set(my_string)].join('');
}
문자열을 Set 자료구조에 넣어서 중복을 제거하며 바로 배열에 넣어준다.
→ split()으로 굳이 나누지 않고도 되는데...! 권수경은 바보야... 또까먹음. 담엔 기억하자!!
var solution=s=>[...s].filter((c,i)=>s.indexOf(c)==i).join('')
문자열을 바로 배열에 넣을 수 있다! 기억하길...
그 후 filter함수를 통해 각 문자 c와 해당 문자의 인덱스 i를 확인한다. 해당 문자의 첫 번째 등장 위치(s.indexOf(c))와 현재 위치(i)가 같다면 중복되지 않는 문자이므로 새로운 배열에 포함시킨다.