백준 1769 java

magicdrill·2024년 10월 7일

백준 문제풀이

목록 보기
457/673

백준 1769 java

X가 1000000자리 아래 수만 입력된다길래 1000000아래 수라고 착각했다.
문자열에 저장된 문자의 아스키코드를 문자, 정수형으로 변환하는 방법과 정수를 문자열로 다시 변환하는 법을 공부할 수 있다.

import java.util.Scanner;

public class bj1769 {
    static Scanner scanner = new Scanner(System.in);

    public static void main(String[] args)
    {
        String X = inputData();//백만자리 이하의 수는 1000000이하가 아니라 길이가 1000000이다
        findAnswer(X);

        scanner.close();
    }

    public static String inputData()
    {
        String num;

        num = scanner.next();

        return num;
    }

    public static void findAnswer(String X)
    {
        int count = 0;
        int i;
        int sum;
        int num;

        while(X.length() > 1)
        {
            sum = 0;
            for(i = 0; i < X.length(); i++)
            {
                num = X.charAt(i) - '0';
                //System.out.println(num);
                sum += num;
            }
            count++;
            //System.out.println("sum : " + sum);
            X = String.valueOf(sum);
            //System.out.println("X : " + X);
        }
        System.out.println(count);
        if(X.equals("3") || X.equals("6") || X.equals("9"))
        {
            System.out.println("YES");
        }
        else
        {
            System.out.println("NO");
        }
    }
}

0개의 댓글