1부터 13까지의 수에서, 1은 1, 10, 11, 12, 13 이렇게 총 6번 등장합니다. 정수 i, j, k가 매개변수로 주어질 때, i부터 j까지 k가 몇 번 등장하는지 return 하도록 solution 함수를 완성해주세요.
k가 1이라고 할 때, 11처럼 두 번 카운트 해야 하는 경우가 있어서 String.valueOf()로 파싱 후 split()으로 문자열 배열을 만든 다음 루프를 돌며 equals()로 k와 같은 경우 +1 해주었다.
i와 j의 범위가 100,000까지라 다소 비효율적인 코드가 된 것 같아 아쉽다.
class Solution {
public int solution(int i, int j, int k) {
int answer = 0;
for(int a=i; a<=j; a++){
String[] numA = String.valueOf(a).split("");
for(String n : numA){
if(n.equals(String.valueOf(k))) answer++;
}
}
return answer;
}
}
