Algorism
중복단어 제거
자라나라나무나무나
2022. 7. 12. 13:46
중복단어를 제거해주는 함수를 구현하시오.
입력값
["john", "alice", "alice"],
["Hello", "hello", "HELLO", "hello"],
["kiwi", "banana", "mango", "kiwi", "banana"]
오답
function answer(arr) {
let new_arr = [];
let set = new Set(arr);
new_arr = Object.keys(set);
return new_arr;
};
let input = [
["john", "alice", "alice"],
["Hello", "hello", "HELLO", "hello"],
["kiwi", "banana", "mango", "kiwi", "banana"],
];
for(let i = 0; i < input.length; i++) {
process.stdout.write(`#${i + 1}`);
console.log(answer(input[i]));
}
정답1
function answer(arr) {
let new_arr = [];
new Set(arr).forEach(function (item) {
new_arr.push(item);
});
return new_arr;
};
let input = [
["john", "alice", "alice"],
["Hello", "hello", "HELLO", "hello"],
["kiwi", "banana", "mango", "kiwi", "banana"],
];
for(let i = 0; i < input.length; i++) {
process.stdout.write(`#${i + 1}`);
console.log(answer(input[i]));
}
new Set 생성자를 이용하여 배열의 중복을 없애주고,
forEach를 통하여 콜백함수로 자기자신을 호출 한 뒤에
push를 통하여 new_arr에 넣어주는 방식
정답2
function answer(arr) {
let new_arr = [];
new_arr = Array.from(new Set(arr));
return new_arr;
};
let input = [
["john", "alice", "alice"],
["Hello", "hello", "HELLO", "hello"],
["kiwi", "banana", "mango", "kiwi", "banana"],
];
for(let i = 0; i < input.length; i++) {
process.stdout.write(`#${i + 1}`);
console.log(answer(input[i]));
}