본문 바로가기

프로그래머스(Java)/Level 0

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

728x90

코드 힌트

  1. for문으로 i부터 j까지 반복합니다
    • 주어진 범위 내의 모든 숫자를 하나씩 확인합니다.
  2. 반복을 하면서 해당 숫자에 k가 몇 개 있는지를 파악합니다
    • 각 숫자의 자리수를 확인하여 k와 같은 숫자가 있는지 검사합니다.
    • 예를 들어, k가 1이고 현재 숫자가 11이면 결과 값에 +2가 되어야 합니다.
    • 또 다른 예로, k가 3이고 현재 숫자가 333이면 결과 값에 +3이 되어야 합니다.
  3. 반복문이 종료되면 결과 값을 return합니다
    • 모든 숫자를 검사한 후, 최종적으로 k의 총 개수를 반환합니다.

 

 


정답은 더보기 클릭

 

더보기
class Solution {
    public int solution(int i, int j, int k) {
        // 결과 값을 저장할 변수 초기화
        int result = 0;

        // i부터 j까지 반복
        for (; i <= j; i++) {
            // 현재 숫자 i를 n에 저장
            int n = i;
            
            // n의 각 자리 숫자를 확인
            while (n > 0) {
                // n의 마지막 자리가 k와 같은지 확인
                if (n % 10 == k) {
                    // 같다면 결과 값을 1 증가
                    result++;
                }
                // n을 10으로 나눠 다음 자리 숫자를 확인
                n /= 10;
            }
        }
        
        // 최종 결과 값을 반환
        return result;
    }
}

 

728x90