/////
Search

k의 개수

고차함수를 이용해서 보다 가독성이 좋게 만든 코드를 확인하고 싶습니다.
아니면 저와 다른 아이디어로 푼 여러분들의 풀이를 확인하고 싶습니다. ^^
function solution(i, j, k) { let answer = 0; // k의 갯수를 저장할 변수 const numbers = []; // 숫자들을 저장할 배열 let splitedArr = []; // 숫자를 쪼개서 저장할 배열 const startNum = i; // 배열의 사작 번호 const endNum = j; // 배열의 종료 번호 for (let l = startNum; l <= endNum; l++) { numbers.push(String(l)); // 시작번호에서 종료번호까지 하나씩 numbers 배열에 저장 } numbers.forEach((val) => { if (val > 9) { splitedArr.push(val.split('')); // numbers의 요소가 9보다 크면 쪼개어 splitedArr에 저장 } else { splitedArr.push(val); // numbers의 요소가 10보다 작으면 바로 splitedArr에 저장 } }); const testArr = splitedArr.flat(Infinity); // splitedArr에 flat 메서드 적용하여 testArr 변수에 저장 for (let m = 0; m < testArr.length; m++) { if (testArr[m] === String(k)) { // testArr에 있는 요소 중 k의 갯수를 카운트 answer += 1; } } return answer; }
JavaScript
복사