중복단어제거

신유빈·2021년 8월 25일

항해99

목록 보기
22/37

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

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

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

▣ 입력예제 1
5
good
time
good
time
student

▣ 출력예제 1
good
time
student

function solution(str){
     let answer;
      answer=str.filter(function(v,i){
        return str.indexOf(v)=== i       
})
return answer
}
let str = ["good", "time", "good", "time", "student"];
console.log(solution(str));

Array.indexOf()

배열에서 주어진 값과 일치하는 첫 번째 인덱스를 반환한다

Array.filter(값, 인덱스, 원래배열)

콜백함수의 조건을 만족하는 요소만 받아서 새로운 배열을 만든다.

배열 내 각 요소에 콜백함수를 호출에서 리턴값이 true인 애들로 새로운 배열 만든다. false이면 버린다.

이러한 원리를 이용해서 중복단어를 제거했다

profile
안녕하세요

0개의 댓글