Backdrop

프로그래머스 ▸ 코딩 기초 트레이닝

ad 제거하기
0

문제 설명

문자열 배열 strArr가 주어집니다. 배열 내의 문자열 중 "ad"라는 부분 문자열을 포함하고 있는 모든 문자열을 제거하고 남은 문자열을 순서를 유지하여 배열로 return 하는 solution 함수를 완성해 주세요.

제한사항

  • 1 ≤ strArr의 길이 ≤ 1,000
    • 1 ≤ strArr의 원소의 길이 ≤ 20
    • strArr의 원소는 알파벳 소문자로 이루어진 문자열입니다.

입출력 예

strArrresult
["and","notad","abcd"]["and","abcd"]
["there","are","no","a","ds"]["there","are","no","a","ds"]

입출력 예 설명

입출력 예 #1

  • 1번 인덱스의 문자열인 "notad"는 부분 문자열로 "ad"를 가집니다. 따라서 해당 문자열을 제거하고 나머지는 순서를 유지하여 ["and","abcd"]를 return 합니다.

입출력 예 #2

  • "ad"가 부분 문자열로 들어간 문자열이 존재하지 않습니다. 따라서 원래 배열을 그대로 return 합니다.

풀이

이론

Array.prototype.filter()

filter() 메서드는 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환해요.

filter(callbackFn[, thisArg])

callbackFn 함수는 세 가지 인자를 받아요.

  • element: 배열에서 처리되고 있는 현재 요소
  • index: 배열에서 처리되고 있는 현재 요소의 인덱스
  • array: filter를 호출한 배열
const words = [
  'spray',
  'limit',
  'elite',
  'exuberant',
  'destruction',
  'present',
];
const result = words.filter(word => word.length > 6);
 
console.log(result);
// Expected output: Array ["exuberant", "destruction", "present"]

코드

function solution(strArr) {
  return strArr.filter(str => !str.includes('ad'));
}