자바스크립트 알고리즘 문제풀이 강의를 듣고 정리한 내용입니다.
📋 문제
N개의 문자열이 입력되면 중복된 문자열은 제거하고 출력한다. 이때 출력하는 문자열은 원래의 입력 순서를 유지한다.
👉 입력
길이가 100을 넘지 않는 N개의 문자열이 주어진다. 각 문자열은 줄바꿈으로 구분된다.
👈 출력
첫번째 줄부터 중복이 제거된 문자열을 입력 순서대로 출력한다.
📝 풀이
<script>
function solution(s) {
let answer = [];
for (const a of s) {
if (answer.indexOf(a) === -1) answer.push(a);
}
return answer.join('\n');
}
let str = ["good", "time", "good", "time", "student"];
console.log(solution(str));
</script>
입력된 문자열들을 순회하며 해당 문자열이 answer라는 배열에 없을 경우 answer에 push한다.
이후 배열 안의 요소들에 공백을 추가하여 출력한다.
<script>
function solution(s) {
let answer = s.filter((a, b) => s.indexOf(a) === b).join('\n');
return answer;
}
let str = ["good", "time", "good", "time", "student"];
console.log(solution(str));
</script>
위와 같은 방식이지만 이 방식은 for of 문과 if 문 대신 filter를 사용해 해당 조건에 만족하는 문자열들을 추출한 후 공백을 추가한다.
'Algorithm > JavaScript' 카테고리의 다른 글
[프로그래머스] 로또의 최고 순위와 최저 순위 (0) | 2021.12.06 |
---|---|
[프로그래머스] 신규 아이디 추천 (0) | 2021.12.06 |
[basics] 중복 문자 제거 (0) | 2021.12.06 |
[basics] 가운데 문자 출력 (0) | 2021.12.06 |
[basics] 대소문자 변환 (0) | 2021.12.06 |
댓글