일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- 프로그래머스 #자바 #java #코딩테스트 #연속된 수의 합 #코딩
- JAVA #객체지향언어 #절차지향언어 #코딩 #Python #C #C++ #객체지향 #절차지향
- 프로그래머스 #JAVA #코딩테스트 #다음에 올 숫자 #코딩
Archives
- Today
- Total
Javadocs
[Programmers] k의 개수 (Java) 본문
https://school.programmers.co.kr/learn/courses/30/lessons/120887
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
[ 문제 설명 ]
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
[ 입출력 예 ]
i | j | k | result |
1 | 13 | 1 | 6 |
10 | 50 | 5 | 5 |
3 | 10 | 2 | 0 |
[ 풀이 ]
주어진 숫자를 int형에서 string 타입으로 변경하여 문자열 비교를 한다.
public class K_Num {
public static int solution(int i, int j, int k) {
int answer = 0;
for (int x = i; x <= j; x++) {
// 숫자를 문자로 변환하는 형 변환.
String num = Integer.toString(x);
// System.out.println(num);
// System.out.println("a :" + num.length());
for (int y = 0; y < num.length(); y++) {
// num.length는 숫자의 자릿수. 즉, num.length가 2라면 십의 자리를 의미
if (Integer.toString(k).equals(num.substring(y,y+1))) {
// 각 자리를 비교하여 포함여부를 비교
answer++;
}
}
}
return answer;
}
public static void main(String[] args) {
int i = 1;
int j = 13;
int k = 1;
System.out.println(solution(i, j, k));
}
}
Integer.toString() - 숫자를 문자로 변환하는 형 변환 방법

'SelfStudy > Programmers(코딩테스트)' 카테고리의 다른 글
[Programmers] 배열의 평균값 (Java) (0) | 2023.04.27 |
---|---|
[Programmers] 문자리스트를 문자열로 변환하기 (Java) (0) | 2023.04.24 |
[Programmers] 중복된 문자 제거 (Java) (0) | 2023.04.19 |
[Programmers] 대문자와 소문자 (Java) (0) | 2023.04.18 |
[Programmers] 한 번만 등장한 문자 (Java) (0) | 2023.04.18 |
Comments