Park DJ
dj0998
Park DJ
전체 방문자
오늘
어제
  • 분류 전체보기 (363)
    • 백준 (363)

공지사항

인기 글

태그

  • 백준 15312
  • 백준 12871
  • Java
  • 백준 3049
  • 백준 1495
  • 백준 1011
  • 백준 14582
  • 백준 7662
  • 백준 3135
  • 백준 6550
  • 백준 4659
  • 백준 10709
  • 백준 2591
  • 백준
  • 백준 2467
  • 백준 1064
  • 백준 12605
  • 백준 2343
  • 백준 16926
  • 백준 15961
  • 백준 15655
  • 백준 7567
  • 백준 16194
  • 백준 2225
  • 자바
  • 백준 1747
  • 백준 8892
  • 백준 24039
  • 백준 1914
  • 백준 1531
hELLO · Designed By 정상우.
Park DJ

dj0998

백준 1065 한수(Java)
백준

백준 1065 한수(Java)

2023. 1. 24. 22:40

https://www.acmicpc.net/problem/1065

 

1065번: 한수

어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나

www.acmicpc.net


 

해석 및 팁

 


 

이 문제에서 한수는 각 자릿수가 등차수열을 이루는 수를 의미합니다. 따라서 100 미만인수는 모두 한수입니다. n의 범위가 1000 이하이므로 n = 1000 일경우에는 예외로 144를 출력해 주고 100 이상 999 이하인 경우에는 각 자릿수를 비교해서 한수인지 아닌지 판단하여 count++을 해주면 됩니다.

 


 

Java 코드

 


import java.util.Scanner;

public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);

    int n = sc.nextInt();
    int[] arr = new int[3];
    int count = 0;

    if(n == 1000) count = 144;          //1000이면 144 출력
    else if(n < 100) count = n;         //100 미만은 모두 한수
    else if(n <= 999) {
      count = 99;
      for(int i = 100; i <= n; i++) {
        arr[0] = i % 10;
        arr[1] = (i / 10) % 10;
        arr[2] = i / 100;
        if((arr[2] - arr[1]) == (arr[1] - arr[0])) count++;    //각 자리별 비교
      }
    }
    
    System.out.println(count);
  }
}

'백준' 카테고리의 다른 글

백준 10828 스택(Java)  (1) 2023.01.25
백준 9012 괄호(Java)  (1) 2023.01.24
백준 9237 이장님 초대(Java)  (0) 2023.01.24
백준 16395 파스칼의 삼각형  (0) 2023.01.24
백준 5347 LCM(Java)  (1) 2023.01.24
    '백준' 카테고리의 다른 글
    • 백준 10828 스택(Java)
    • 백준 9012 괄호(Java)
    • 백준 9237 이장님 초대(Java)
    • 백준 16395 파스칼의 삼각형
    Park DJ
    Park DJ

    티스토리툴바