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 |
class Solution {
public int solution(int i, int j, int k) {
int answer =0;
for(int a = i; a <= j; a++)
{
String str = String.valueOf(a);
for(int b = 0; b < str.length(); b++)
{
if(String.valueOf(k).equals(str.substring(b, b+1)))
answer++;
}
}
return answer;
}
}
💡 먼저 매개 변수로 받은
i
부터j
까지 이중으로 for문을 돌리게 된다i
에서j
사이에 해당하는a
를 String으로 만들어 str에 넣어 주고, str의 길이만큼 for문을 한 번 더 돌린다 두 번째 for문에서 str을 substring()으로 한 글자씩 자른 문자와 k를 String으로 만든 문자가 일치한다면 answer에 +1을 해 주게 된다