Suzie's Blog

[프로그래머스] 7의 개수 (JavaScript) 본문

개발/코딩테스트

[프로그래머스] 7의 개수 (JavaScript)

Iuna 2022. 12. 26. 13:45
반응형
SMALL

문제 설명

머쓱이는 행운의 숫자 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 합니다.

나의 풀이

const solution = array => array.map(String).reduce((cur, acc) => cur+acc).split('').filter(num => num === '7').length;
뭔가 아주 복잡하게 풀었다 ㅋㅋ
1. map으로 array안의 elements를 String으로 처리 해준 후 reduce를 이용하여 다 더해준다.
2. split으로 다시 배열에 넣어 정렬해주고 filter로 '7'을 골라준다
3. 그 배열의 length를 구해 return

다른 사람 풀이를 보니 훨씬 간단하게 풀 수도 있었다.
바로 array.join('')을 해주면 map, reduce사용할 필요 없이 '77717'도출 가능! 
그럼 식이 아래와 같이 더 간단 해 진다.
const solution = array => array.join('').split('').filter(num => num === '7').length;
반응형
LIST