[백준] 1065 : 한수 - Java

길 잃은 까마귀·2022년 9월 14일
0

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


  • 문제

  • 풀이
    한수를 판별하는 함수를 만들어야 한다. 우선 숫자가 2자리 이하면 무조건 등차수열을 이루기 때문에 입력받은 수가 받으면 그 수를 그대로 리턴하면 된다. 하지만 3자리 이상이면 1~99의 한수 99개를 기본으로 한수의 개수를 설정해준다.
    그리고 각자리 수를 구해서 (백의 자릿수-십의 자릿수)=(십의자릿수-일의 자릿수) 을 만족하면 등차수열 이므로 이를 표현해주면 되고 이를 만족했을때 한수의 개수를 지정한 변수에 1씩 더해주면 한수의 개수를 알 수 있다.

  • 코드
import java.util.Scanner;

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

	}

	public static int arithmetic_sequence(int num) {
		int cnt = 0;

		if (num < 100) {
			return num;
		}

		else {
			cnt = 99;

			for (int i = 100; i <= num; i++) {
				int hun = i / 100;
				int ten = (i / 10) % 10;
				int one = i % 10;

				if ((hun - ten) == (ten - one)) {
					cnt++;
				}
			}
		}
		return cnt;
	}
}
profile
코딩 고수가 될 사람

0개의 댓글