JAVA/알고리즘

백준 알고리즘 풀이(1065번)

lovineff 2020. 6. 4. 18:03
public class P1065 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int N = Integer.parseInt(br.readLine());

        int totalCnt = 0;
        for(int i=1 ; i <= N ; i++){
            if(isHanSu(i)) totalCnt++;
        }
        System.out.println(totalCnt);
    }

    private static boolean isHanSu(int n){
        boolean result = true;

        String nStr = String.valueOf(n);
        int beforeDiff = 0;
        int newDiff = 0;
        for(int i=0 ; i < nStr.length() - 1 ; i++){
            if(i == 0){
                beforeDiff =  Integer.parseInt(nStr.substring(i, i+1)) - Integer.parseInt(nStr.substring(i+1, i+2));
            }else{
                newDiff =  Integer.parseInt(nStr.substring(i, i+1)) - Integer.parseInt(nStr.substring(i+1, i+2));

                if(beforeDiff != newDiff){
                    result = false;
                    break;
                }else{
                    beforeDiff = newDiff;
                }
            }
        }

        return result;
    }
}

'JAVA > 알고리즘' 카테고리의 다른 글

백준 알고리즘 풀이(2908번)  (0) 2020.06.04
백준 알고리즘 풀이(15596번)  (0) 2020.06.04
백준 알고리즘 풀이(2675번)  (0) 2020.06.04
백준 알고리즘 풀이(7568번)  (0) 2020.06.04
백준 알고리즘 풀이(2750번)  (0) 2020.06.04