본문 바로가기

백준 문제 풀기/함수

백준 함수 단계별 풀기 - 1065번

for문을 i ++로 진행했더니 오류가 나서 

답안을 참고해보았는데 for (int i = input; i > 0; i --) 로 변경해서 했더니 정상적으로 풀어졌다

테스트케이스에 맞지않는 코드였지 싶다

import java.util.Scanner;

//어떤 양의 정수 X의 자리수가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오. 
//
//입력
//첫째 줄에 1,000보다 작거나 같은 자연수 N이 주어진다.
//
//출력
//첫째 줄에 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력한다.

//2자리 이하느 모든 값은 한수, 

public class Main2 {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int input = scanner.nextInt();
		int result = 0;
		for (int i = input; i > 0; i--) {
			String strInput = i + "";
			if(strInput.length() <= 2) {
				result+=1;
			}else {
				int num1 = strInput.charAt(1) - strInput.charAt(0);
				int num2 = strInput.charAt(2) - strInput.charAt(1);
				if(num1 == num2) {
					result+=1;
				}
			}
		}
		System.out.println(result);
		scanner.close();
	}
}

'백준 문제 풀기 > 함수' 카테고리의 다른 글

백준 함수 단계별 풀기 - 4673번  (0) 2019.12.12
백준 함수 단계별 풀기 - 15596번  (0) 2019.12.12