중복 단어 제거

heejung·2021년 10월 9일

프로그래머스

목록 보기
23/76

문제 설명

N개의 문자열이 입력되면 중복된 문자열은 제거하고 출력하는 프로그램을 작성하세요.

출력하는 문자열은 원래의 입력순서를 유지합니다.

▣ 입력설명

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

▣ 출력설명

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

▣ 입력예제 1

5
good
time
good
time
student

▣ 출력예제 1

good
time
student

문제 풀이

  1. 중복 문자 제거(22번) 방식으로
function solution(str) {
     let answer = [];

     for (let i = 0; i < str.length; i++) {
         if (str.indexOf(str[i]) === i) {
             answer.push(str[i])
         }
     }
     return answer;
}

let str = ['good', 'time', 'good', 'time', 'student'];
  1. filter 메소드 사용
function solution(str) {
     let answer = [];

     answer = str.filter((word, index) => {
           return str.indexOf(word) === index;  // true이면 배열에 추가
     })

     return answer;
}
        let str = ['good', 'time', 'good', 'time', 'student'];



fliter(콜백 함수)
콜백함수에서 true를 리턴시키는 값만 새로운 배열에 담아 반환한다.

function isBigEnough(value) {
  return value >= 10;
}

var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);
// filtered 는 [12, 130, 44]
profile
프론트엔드 공부 기록

0개의 댓글