문제 설명
1부터 13까지의 수에서, 1은 1, 10, 11, 12, 13 이렇게 총 6번 등장합니다. 정수 i, j, k가 매개변수로 주어질 때, i부터 j까지 k가 몇 번 등장하는지 return 하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ i < j ≤ 100,000
- 0 ≤ k ≤ 9
입출력 예
i | j | k | result |
1 | 13 | 1 | 6 |
10 | 50 | 5 | 5 |
3 | 10 | 2 | 0 |
입출력 예 설명
입출력 예 #1
- 본문과 동일합니다.
입출력 예 #2
- 10부터 50까지 5는 15, 25, 35, 45, 50 총 5번 등장합니다. 따라서 5를 return 합니다.
입출력 예 #3
- 3부터 10까지 2는 한 번도 등장하지 않으므로 0을 return 합니다.
나의 풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
function solution(i, j, k) {
var answer = 0;
const arr = []
for(let x=i; x<=j; x++){
arr.push(String(x))
}
arr.forEach((nums)=>{
nums.split('').forEach((num)=>{
if(num == k){
answer++
}
})
})
return answer;
}
|
cs |
문제를 풀며 느낀 점
- 먼저 반복문을 통해서 i부터 j까지의 수를 String으로 형 변환을 한 값을 arr 배열에 할당하였고 arr을 forEach()를 통해서 하나 하나 순회하면서 들어온 nums값을 split('')함수를 통해서 한자릿수씩 자른뒤 그걸 forEach()를 통해서 읽은 뒤 num의 값이 k와 같다면 answer++을 통해서 1씩 증가시켰습니다.
'코딩 테스트 풀이 🛠' 카테고리의 다른 글
[Leet Code - eazy] 1365. How Many Numbers Are Smaller Than the Current Number (0) | 2023.02.10 |
---|---|
[Leet Code - eazy] 1281. Subtract the Product and Sum of Digits of an Integer (0) | 2023.02.10 |
[프로그래머스] 팩토리얼 (0) | 2023.02.09 |
[프로그래머스] A로 B 만들기 (0) | 2023.02.09 |
[프로그래머스] 직각삼각형 출력하기 (0) | 2023.02.09 |