Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- Spring #Java #Spring Boot #싱글톤
- 파이썬
- 1110
- Java #코딩테스트
- sequelize
- node
- 9020
- 카카오 클라우드 스쿨
- Spring #Spring Boot #Java
- Spring #Java #Spring Boot
- 11053
- 24479
- Java #백준 #코딩테스트
- 백준
- 7568
- kakaocloudschool
- Spring
- 알고리즘
- Java #오븐시계 #백준
- 카카오클라우드스쿨
- SpringTokenizer
- 15552
- java
- python
- kakaocloud
- 코딩테스트
- boj
- 11054
- 2447
- Spring #Java #Spring Boot #@BeforeEach #@AfterEach
Archives
- Today
- Total
YoungSoo
백준 - 한수(1065 Java 풀이) 본문
이번 문제에서는 1보다 크고 입력 값 N보다 작은 한수의 수를 구하는 문제이다.
여기서 한수란 주어진 숫자의 각 자리 간의 등차 수열이 이루어지는 것을 말한다.
코드
import java.util.Scanner;
public class Main {
public static int d(int n){
int count = 0;
if(n < 100){
return n;
}else{
count = 99;
int a = 0;
int b = 0;
int c = 0;
for(int i=100; i<=n; i++){
a = i/100; //백의 자리
b = i/10 - a*10; //십의 자리
c = i - a*100 - b*10; //일의 자리
if(((a-b) == (b-c)) || ((b-a) == (c-b))){
count++;
}
}
return count;
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int count = d(N);
System.out.println(count);
}
}
풀이
1. 메인 함수에서 1000보다 작거나 같은 값 N의 값을 받고 한수를 구하는 함수를 호출해준 뒤 그 값을 출력해준다.
2. 먼저 세어줄 변수를 선언해주고 100보다 작은 값은 한수가 값과 똑같기 때문에 N을 출력해준다.
3. 100보다 크거나 같은 수는 각 자리의 수를 구해 비교를 통해 coun를 세어주는데 여기서 100보다 작은 수는 99개의
한수가 나오기 때문에 count에 99를 넣어준다.
'코딩테스트' 카테고리의 다른 글
백준 - 소수 찾기(1978번 파이썬 풀이) (0) | 2022.12.02 |
---|---|
백준 - 달팽이는 올라가고 싶어(2896번 파이썬 풀이) (0) | 2022.12.01 |
백준 - 셀프 넘버(4673 Java 풀이) (0) | 2022.11.04 |
백준 - 과제 안 내신 분..?(5597 Java 풀이) (0) | 2022.11.03 |
백준 - 빠른 A+B(15552 Java 풀이) (0) | 2022.11.02 |