//GitHub https://github.com/vellimole0621
백준 1065번 : 한수
( 문제 - https://www.acmicpc.net/problem/1065 )
문제 설명 : 숫자 N을 입력받아서, 1부터 N까지 한수(자릿수간 등차수열을 이루는 수)의 개수를 출력한다.
풀이 : N를 입력 받고, 중간 변수 temp, 결과 변수 res 초기화 >> Case1 - N이 100 보다 작을 경우, 100 보다 작은 수는 모두 한수이므로 그대로 출력 / Case2 - 이외의 경우 while 문으로 한수 검사하고 개수 추가해 출력
// 1065번 한수
package S2208;
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
// N 입력 받고, 중간 변수 temp, 결과 변수 res 초기화
int N = sc.nextInt();
int res = 99;
int temp = 99;
// 100보다 작은 수는 모두 한수 이므로, 100보다 작을 경우 바로 출력
if(N < 100){
System.out.println(N);
}
// 각 수, while문으로 한수인지 점검하고, 한수이면 개수 추가.
else{
while(temp != N+1){
if(((temp/100)-((temp%100)/10))==(((temp%100)/10)-((temp%10)/1))){
res++;
}temp++;
}
// 결과 출력
System.out.println(res);
}
sc.close();
}
}
어려웠던 점 : 한수가 결국, 100의 자릿수 와 10 자릿수의 차가 10의 자릿수 와 1의 자릿수의 차와 동일한 수를 말하는 데, 그 조건을 만들 때 나눗셈과 나머지 연산을 헷갈려서 시간이 조금 걸렸다.
'프로그래밍 > Java' 카테고리의 다른 글
[자바 JAVA/알고리즘] 백준 1259번 : 팰린드롬수 (0) | 2022.08.31 |
---|---|
[자바 JAVA/알고리즘] 백준 9012번 : 괄호 (0) | 2022.08.23 |
[자바 JAVA/알고리즘] 백준 10773번 : 제로 (0) | 2022.08.22 |
[자바 JAVA/알고리즘] 백준 1978번 : 소수 찾기 (0) | 2022.08.22 |
[자바 JAVA/알고리즘] 백준 11866번 : 요세푸스 문제 0 (0) | 2022.08.21 |