[프로그래머스_입문] k의 개수

LU·2024년 10월 7일
0
post-thumbnail

문제

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

입출력 예

ijkresult
11316
105055
31020

입출력 예 설명

입출력 예 #1

  • 본문과 동일합니다.

입출력 예 #2

  • 10부터 50까지 5는 15, 25, 35, 45, 50 총 5번 등장합니다. 따라서 5를 return 합니다.

입출력 예 #3

  • 3부터 10까지 2는 한 번도 등장하지 않으므로 0을 return 합니다.

풀이

class Solution {
    public int solution(int i, int j, int k) {
        int answer = 0;
        // k를 문자열로 변환 -> 숫자를 자릿수별로 확인하기 위해서
        String str = String.valueOf(k);
        
        // num은 i부터 j까지의 숫자를 하나씩 나타낸다
        for(int num = i; num <= j; num++) {
            // num을 문자열로 변환
            String numStr = String.valueOf(num);
            // 문자열에서 str가 몇 변 등장하는지 확인하기
            for(int m = 0; m < numStr.length(); m++){
                if(numStr.charAt(m) == str.charAt(0)) {
                    answer++;
                }
            }
        }
        return answer;
    }
}
profile
기록은 나의 무기😎

0개의 댓글