목차
문제 설명
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
class Solution {
public int solution(int i, int j, int k) {
int count = 0;
String target = String.valueOf(k);
for (int num = i; num <= j; num++) {
String numStr = String.valueOf(num);
count += numStr.length() - numStr.replace(target, "").length();
}
return count;
}
}
코드 설명
- target 변수: k를 문자열로 변환해 검색 대상 문자열을 준비한다.
- 반복문: i부터 j까지 모든 숫자를 순회하며 각 숫자를 문자열로 변환한다.
- 문자열 연산:
- numStr.replace(target, ""): target을 제거한 문자열로 변환.
- numStr.length() - 변환된 문자열 길이: target이 등장한 횟수를 계산한다.
- 카운트 증가: count 변수에 등장 횟수를 누적한다.
- 결과 반환: 최종적으로 등장 횟수를 반환한다.
실행 예제
- 입력: i = 1, j = 13, k = 1
- 출력: 6
- 입력: i = 10, j = 50, k = 5
- 출력: 5
- 입력: i = 3, j = 10, k = 2
- 출력: 0
728x90
'JAVA > 프로그래머스 코딩테스트 입문' 카테고리의 다른 글
[프로그래머스, LV.0] 소인수분해 (0) | 2024.12.11 |
---|---|
[프로그래머스, LV.0] 컨트롤 제트 (0) | 2024.12.11 |
[프로그래머스, LV.0] 모스부호 (1) (0) | 2024.12.10 |
[프로그래머스, LV.0] A로 B 만들기 (1) | 2024.12.10 |
[프로그래머스, LV.0] 7의 개수 (0) | 2024.12.10 |