[백준] 1065번 : 한수 - JAVA(자바)

Life is ninanino·2022년 10월 23일
0

[백준] JAVA

목록 보기
23/37
post-thumbnail

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


수포자인 나에게 어려웠던 등차수열 문제였다.
등차수열은 알겠는데 입력이랑 출력의 상관관계를 이해하지 못해서 어려웠다

출처 : 나무위키

두자리 숫자까진 일정한 공차를 가지고 있다.
그래서 100이하와 100이상을 나눠서 생각해주면 된다
num을 입력받아서 100이하이면 그대로 num을 리턴해주고
100 이상이면 for문을 100이상부터 돌려서 각 자릿수를 나눠준다

  • 백의 자릿수 = i/100
  • 십의 자릿수 = (i/10)%10
  • 일의 자릿수 = i%10
    그래서 백의 자릿수 - 십의 자릿수 == 십의 자릿수 - 일의 자릿수 가
    같은지 확인 해주면 된다

++ 정답코드

package 백준;// @ author ninaaano

import java.util.Scanner;

public class b_1065 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int cnt = 0;

        for(int i = 0; i<=n; i++){
            if(n<100){
                cnt = n;
            }else{
                cnt = 99;
                for(int j = 100; j<=n; j++) {
                    int a = j / 100; // 백의 자릿수
                    int b = (j / 10) % 10; // 십의 자릿수
                    int c = j % 10; // 일의 자릿수
                    if ((a - b) == (b - c)) {
                        cnt++;
                    }
                }
            }
        }
        System.out.println(cnt);
    }
}

알고리즘에서 사용하는 수학은 보통
통계, 추론, 논리, 선형대수, 이산 수학 등이 있다고 한다
수포자는 넘 힘들어잉....😭😭

profile
백엔드 프로그래밍을 공부하고 있습니다. AWS, 클라우드 환경에 대해 관심이 많습니다.

0개의 댓글