1일 1백준

1일 1백준 : 2일차 1065번 한수

gaonhae 2022. 4. 20. 16:45

1일 1백준 2일차 세 번째 문제, 오늘 푼 문제는 1065번 문제인 "한수"이다.

 

 

1065번 "평균은 넘겠지" 문제 바로가기

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

 

 

 

직전에 푼 셀프 넘버보다는 쉽게 풀 수 있었다.

한수인지 아닌지를 판별하는 함수를 구현한 뒤 

for문 안에 넣어 return값이 true일 때마다 count를 증가시켜

최종적으로 count를 출력하는 형태로 구현했다.

 

 

 

 

 

 

 

 

 

아래로 내리면 정답 코드가 나옵니다. 문제를 아직 풀지 않으신 분들은 주의해주세요.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

import java.util.Scanner;
import java.util.Arrays;

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

        for (int i = 1 ; i <= n ; i++){
            if(tt.hansoo(i) == true){
                count++;
            }
        }

        System.out.println(count);
        
        sc.close();
    }

}

class Test{  
    boolean hansoo(int a){
        if(a <= 10){
            return true;
        }
        String num = Integer.toString(a);
        int codiff = (int)num.charAt(1) - (int)num.charAt(0);
        boolean bool = true;
        for (int i = 0 ; i < num.length()-1 ; i++){
            if(codiff == (int)num.charAt(i+1) - (int)num.charAt(i)){
                bool = true;
            }
            else{
                bool = false;
            }
        }
        return bool;
    }
}