문제
배열 내의 중복을 제거하고 리턴하세요.
풀이 1
function solution(s){
let answer = [];
for(let i = 0; i <s.length; i++){
if(s.indexOf(s[i])===i) answer.push(s[i]);
}
return answer;
}
let str=["good", "time", "good", "time", "student"];
solution(str); // ["good","time","student"]
- indexOf로 얻은 값과 인덱스 값이 같은 요소를 새로운 배열에 push 해주었다.
풀이 2
function solution(s){
let answer = s.filter((x,index)=>s.indexOf(x)===index);
}
let str=["good", "time", "good", "time", "student"];
solution(str);// ["good","time","student"]
- filter 콜백함수의 매개변수는 각 배열의 값과 그 인덱스 넘버.
풀이 3
function solution(s){
let answer = [...new Set(s)];
}
let str=["good", "time", "good", "time", "student"];
solution(str);// ["good","time","student"]
- set 객체의 각 요소를 리턴하여 배열화.
'Algorithm & 자료구조 > (인프런) 자바스크립트 알고리즘 문제풀이' 카테고리의 다른 글
[알고리즘]격자판 최대 합 구하기 (0) | 2022.01.30 |
---|---|
[알고리즘] 배열 등수 구하기 (Array.from) (0) | 2022.01.29 |
[알고리즘] 중복 문자 제거 - indexOf, Set (0) | 2022.01.27 |
[알고리즘]대문자로 통일 (0) | 2022.01.25 |
[알고리즘]문자 찾기 - 문자열에 특정 문자가 몇 개 있는지?(split) (0) | 2022.01.25 |