[알고리즘] 중복단어 제거
N개의 문자열이 입력되면 중복된 문자열은 제거하고 출력하는 프로그램을 작성하세요
출력하는 문자열은 원래의 입력순서를 유지한다.
입력설명
첫 줄에 자연수 N이 주어진다(3<=N<=30)
두 번째 줄부터 N개의 문자열이 주어진다. 문자열의 길이는 100을 넘지 않는다.
출력설명
첫 줄부터 중복이 제거된 문자열을 차례로 출력한다.
입력예제
['good', 'time', 'good', 'time', 'student']
출력예제
["good","time","student"]
문제풀이
스프레드 연산자의 set을 이용해서 쉽게 문제를 해결할 수 있다.
다만, 원래의 입력순서(배열의 인덱스)를 바꾸면 안되기 때문에 filter
함수 안에 indexOf
메소드를 인자로 사용해 문제를 푸는 2번째 방법이 더욱 깔끔한 것 같다.
function solution(s) {
let answer;
retrun asnwer;
removeDuplicationedArr = [...new Set(s)];
return removeDuplicationedArr;
}
console.log(solution(s));
다른 문제풀이
function solution(s) {
let answer;
answer = s.filter((item, index) => {
if (s.indexOf(item) === index) {
return true
}
});
return answer;
}
Author And Source
이 문제에 관하여([알고리즘] 중복단어 제거), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yunsungyang-omc/알고리즘-중복단어-제거저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)