✏️문제 설명
머쓱이는 행운의 숫자 7을 가장 좋아합니다. 정수 배열 array가 매개변수로 주어질 때, 7이 총 몇 개 있는지 return 하도록 solution 함수를 완성해보세요.
제한사항
- 1 ≤ array의 길이 ≤ 100
- 0 ≤ array의 원소 ≤ 100,000
입출력 예
array | result |
[7, 77, 17] | 4 |
[10, 29] | 0 |
입출력 예 설명
입출력 예 #1
- [7, 77, 17]에는 7이 4개 있으므로 4를 return 합니다.
입출력 예 #2
- [10, 29]에는 7이 없으므로 0을 return 합니다.
✏️문제 풀이
- 내 풀이
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를 다 이어 붙이고 바로 길이를 반환하면 된다.
🙂 공부하면서 적는 글입니다. 잘못된 점이 있다면 피드백 남겨주세요.
'Algorithms > 코테 문풀' 카테고리의 다른 글
[프로그래머스] 외계어 사전 - JavaScript (0) | 2023.01.10 |
---|---|
[프로그래머스] 숨어있는 숫자의 덧셈(2) - JavaScript (0) | 2023.01.10 |
[프로그래머스] 자릿수 더하기 - JavaScript / reduce()에 대해 이해해보자! (0) | 2023.01.06 |
[프로그래머스] 한 번만 등장한 문자 - JavaScript 풀이 / 배열에서 [빈 값, undefined, null] 제거하기 (0) | 2023.01.04 |
[프로그래머스] 영어가 싫어요 - JavaScript 풀이/ 문자열을 숫자로 바꾸는 3가지 방법 (0) | 2023.01.04 |