알고리즘

[JS] 알고리즘 기초 정복 17번 - 중복단어제거

햄❤️ 2021. 7. 9. 21:05
반응형

문제 17번

N개의 문자열이 입력되면 중복된 문자열은 제거하고 출력하는 프로그램을 작성하세요. 출력하는 문자열은 원래의 입력순서를 유지합니다.

 

🍄 입력설명

첫 줄에 자연수 N이 주어진다.(3<=N<=30) 두 번째 줄부터 N개의 문자열이 주어진다. 문자열의 길이는 100을 넘지 않습니다.

 

🍄 출력설명

첫 줄부터 중복이 제거된 문자열을 차례로 출력한다.

 

🍄 입력예제 1

5

good

time

good

time

student

 

🍄 출력예제 1

good time student

 


정답 코드

function solution(s) {
	let answer = [];
	// filter는 새 배열을 반환, 콜백함수로 v,i 인자를 받는다 = 요소, 인덱스
    
   	 //이렇게 써도 된다.
	// answer = s.filter(function (v, i) {
	//   return s.indexOf(v) === i;
	// });
    
	answer = s.filter((v, i) => s.indexOf(v) === i);

	return answer;
}
let arr = ["good", "time", "good", "time", "student"];
console.log(solution(arr));
// (3) ["good", "time", "student"] 출력
728x90
반응형