Notice
Recent Posts
Recent Comments
Link
반응형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- node
- 타입스크립트
- 백엔드
- 노드제이에스
- Javascript
- Reduce
- Array
- 에러
- 자바스크립트
- 마음커넥션
- 앵귤러
- 개발
- TypeScript
- Programmers
- react
- 프로그래머스
- 코딩테스트
- 노드
- 노드js
- nodejs
- error
- CLI
- codingtest
- 코딩테스트연습
- indexOf
- Nextjs
- npm
- slice
- Method
- angular
Archives
- Today
- Total
Suzie's Blog
[프로그래머스] 7의 개수 (JavaScript) 본문
반응형
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
'개발 > 코딩테스트' 카테고리의 다른 글
[프로그래머스] 공 던지기 (JavaScript) (0) | 2022.12.30 |
---|---|
[프로그래머스] 숨어있는 숫자의 덧셈 (2) (JavaScript) (0) | 2022.12.28 |
[프로그래머스] 한 번만 등장한 문자 (JavaScript) (0) | 2022.12.25 |
[프로그래머스] 진료 순서 정하기 (JavaScript) (0) | 2022.12.23 |
[프로그래머스] k의 개수 (JavaScript) (0) | 2022.12.22 |