문제
정수배열 array가 주어질 때 숫자 n이 몇 번 들어갔냐
내해답
function solution(array) {
var answer = 0;
for(let i = 0; i< array.length; i++) {
answer += array[i].toString()
}
return answer.includes(7) ? answer.split("").filter((i) => i==7).length : 0 ;
}
- for 루프를 사용하여 배열의 요소를 문자열로 변환후 answer에 더해줌
- includes(7) : answer에 7이 포함되어있는지 확인
- filter : 7이 포함되어 있다면 각 자릿수를 배열 분할 배열 길이를 반환 아니면 0을 반환
다른 답들
1) join / split
function solution(array) {
return array.join('').split('7').length-1;
}
- join : 정수 배열의 요소들을 하나의 문자열로 이어 붙임
- split(7) : 7을 구분자로 사용하여 분리한 배열을 만든다
- length - 1 : 위의 배열의 길이에서 1을 뺀다 7이 등장한 횟수 1을 뺀 이유는 분리된 문자열 사이에 숫자 7이 존재하지 않는 경우에도 배열의 길이가 1이 늘어나기 때문
2) join / split / filter
function solution(array) {
return(array.join().split("").filter((el)=>{return el=="7"}).length)
}
- 위의 코드와 비슷하지만 filter를 사용해 7이랑 일치하는 필터링 작업을 수행한다
오전의 코딩테스트는 원래 이런 건가... 싶다 생각이란걸 안하고 짠 코드라 정리하기 부끄럽고 좀 더 머리를 쓰자!!
'기초다지기 > JS 코딩테스트' 카테고리의 다른 글
javascript 조건에 맞게 수열 변환 (0) | 2023.08.22 |
---|---|
javascript 배열내 길이가 같은 문자열이 가장 많은 갯수 (0) | 2023.08.20 |
[Lv0] js 배열내 2의 영역 (0) | 2023.08.17 |
[Lv0] js for ...of 를 사용한 수열과 쿼리 (0) | 2023.08.10 |
[Lv0] js 정수 배열 홀짝 여부 판단하여 1로 만들기 (0) | 2023.08.05 |