수포자인 나에게 어려웠던 등차수열 문제였다.
등차수열은 알겠는데 입력이랑 출력의 상관관계를 이해하지 못해서 어려웠다
두자리 숫자까진 일정한 공차를 가지고 있다.
그래서 100이하와 100이상을 나눠서 생각해주면 된다
num을 입력받아서 100이하이면 그대로 num을 리턴해주고
100 이상이면 for문을 100이상부터 돌려서 각 자릿수를 나눠준다
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);
}
}
알고리즘에서 사용하는 수학은 보통
통계, 추론, 논리, 선형대수, 이산 수학 등이 있다고 한다
수포자는 넘 힘들어잉....😭😭