🗃️javascript/코테 프레임 문제
1-17 중복단어제거(△)
하얀성
2024. 4. 11. 14:26
<제출답안>
Array 인스턴스의 indexOf() 메서드는 배열에서 주어진 요소를 찾을 수 있는 첫 번째 인덱스를 반환하고, 찾을 수 없는 경우 -1을 반환합니다. (배열의 요소든, 문자열의 요소든 동일 효과. 왜냐하면 조회만하는 메소드니까)
function solution(s) {
let answer = "";
s.map((x) => {
if (answer.indexOf(x) === -1) answer += x + " ";
});
return answer;
}
let str = ["good", "time", "good", "time", "student"];
console.log(solution(str));

수정
- 문자열을 구분을 위해 push를 통한 배열의 형태가 낫다.
- answer를 출력하기 때문에 map말고 forEach 사용.
- 띄어쓰기할 때 join("\n") 사용
function solution(s) {
let answer = [];
s.forEach(x => {
if (answer.indexOf(x) === -1) answer.push(x);
});
return answer.join('\n');
}
let str = ["good", "time", "good", "time", "student"];
console.log(solution(str));