Java/코딩테스트
[프로그래머스/120887] k의 개수 (k+'0')
Se On
2025. 1. 20. 11:48
✏️ 문제 설명
1부터 13까지의 수에서, 1은 1, 10, 11, 12, 13 이렇게 총 6번 등장합니다. 정수 i, j, k가 매개변수로 주어질 때, i부터 j까지 k가 몇 번 등장하는지 return 하도록 solution 함수를 완성해주세요.
✏️ code
📌 k+'0'
- k는 int, c는 char이기 때문에 문자와 정수를 직접 비교할 수 있습니다. 따라서 정수 k를 문자로 변환해야 하는데 여기서 +'0'이 사용됩니다.
- k+'0'에서 만약 k가 2인 경우
1) 정수 연산: 2 + '0' → 2 + 48('0'의 ASCII) → 50
2) char로 변환: (char) 50 → 문자 '2'로 변환
3) 따라서 c == (char) (k+'0') 비교가 가능한 것입니다.
class Solution {
public int solution(int i, int j, int k) {
int answer = 0;
for (int num = i; num <= j; num++) {
for (char c : String.valueOf(num).toCharArray()) {
if (c == (char) (k+'0')) {
answer++;
}
}
}
return answer;
}
}
반응형