728x90
코드 힌트
- for문으로 i부터 j까지 반복합니다
- 주어진 범위 내의 모든 숫자를 하나씩 확인합니다.
- 반복을 하면서 해당 숫자에 k가 몇 개 있는지를 파악합니다
- 각 숫자의 자리수를 확인하여 k와 같은 숫자가 있는지 검사합니다.
- 예를 들어, k가 1이고 현재 숫자가 11이면 결과 값에 +2가 되어야 합니다.
- 또 다른 예로, k가 3이고 현재 숫자가 333이면 결과 값에 +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
'프로그래머스(Java) > Level 0' 카테고리의 다른 글
[프로그래머스] 연속된 수의 합 (0) | 2024.07.22 |
---|---|
[프로그래머스] 겹치는 선분의 길이 (0) | 2024.07.19 |
[프로그래머스] 가까운 수 (0) | 2024.07.19 |
[프로그래머스] 2의 영역 (0) | 2024.07.18 |
[프로그래머스] 약수 구하기 (0) | 2024.07.18 |