본문 바로가기
Algorithms/코테 문풀

[프로그래머스] 7의 개수 - JavaScript / map(), includes(), join(), filter()

by hi-rachel 2023. 1. 8.

✏️문제 설명

✏️문제 풀이

- 내 풀이

function solution(array) {
    let result = 0;
    array.toString().split('').map(x => x.includes('7') ? result++ : null);
    return result;
}

array 배열을 한 글자씩 나눠주고 7을 찾으면(true를 반환하면) result 값을 더해줬다.

 

- 다른 풀이

function solution(array) {
    return(array.join().split("").filter((el)=>{return el=="7"}).length)
}

▶ Array.prototype.filter()

filter() 메서드는 제공된 함수에 의해 현된 테스트를 통과하는 주어진 배열의 요소로만 필터링된 지정된 배열 부분의 얕은 복사본(shallow copy)을 만든다.

테스트가 통과된 배열의 요소만을 반환하므로 length 길이를 바로 세주면 된다.

 

function solution(array) {
    return array.join('').split('7').length-1;
}

▶ Array.prototype.join()

join() 메서드쉼표 또는 지정된 구분 문자열(specified separator string)로 구분된 배열(또는 배열과 유사한 객체)의 모든 요소를 연결하여 새 문자열을 만들고 반환한다. 배열에 항목이 하나만 있으면 구분 기호를 사용하지 않고 해당 항목이 반환된다.

// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join
const elements = ['Fire', 'Air', 'Water'];

console.log(elements.join());
// expected output: "Fire,Air,Water"

console.log(elements.join(''));
// expected output: "FireAirWater"

console.log(elements.join('-'));
// expected output: "Fire-Air-Water"

 

테스트 케이스 예시

 

제일 간단한 풀이. array를 다 이어 붙이고 바로 길이를 반환하면 된다.

 

🙂 공부하면서 적는 글입니다. 잘못된 점이 있다면 피드백 남겨주세요.