3은로그

[프로그래머스] Lv.0 K의 개수 본문

코딩테스트

[프로그래머스] Lv.0 K의 개수

3은 2023. 9. 15. 21:48
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/120887

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

문제

 

 

 

코드

 

function solution(i, j, k) {
    let my_arr = [];
    for(let a = i; a < j+1; a++){
        my_arr.push(a);
    }
    return my_arr.join("").split("").filter(v => v == k).length;
}

 

1. join("").split("")

  • i부터 j까지 my_arr에 추가하면 [10,11,12,13,14] 이런식으로 들어가게 된다.
  • 이때 k는 0 <= k <= 9이기 때문에 [10,11,12,13,14]를 하나의 문자열로 즉 "1011121314"와 같이 만든 후 갯수를 구하는 것이 쉽다.
  • join("")으로 배열을 문자열로 만들고 
  • split("")로 문자열을 한자리수의 배열로 만든다. "1011121314" -> ["1","0","1","1","1","2","1","3","1","4"]

 

2. filter(v => v == k).length

  • filter로 배열을 돌면서 배열의 요소가 k와 같은 것을 찾고 그 수를 센다.