백준 10824 java : 구현, 객체지향연습

magicdrill·2025년 6월 4일
0

백준 문제풀이

목록 보기
615/655

백준 10824 java : 구현, 객체지향 연습

왜 Long 타입을 사용했는가?

처음에는 Integer.parseInt()를 사용했는데, 조건에서 각 수는 1000000까지 입력이 가능하므로 두 수를 이어붙여 문자열로 만들면 10000001000000가 나와 Integer형을 초과한다.
그래서 Long 타입과 Long.parseLong()을 사용했다.

import java.util.Scanner;

class num
{
    private int num;

    num()
    {
        num = 0;
    }

    public int getNum() {
        return num;
    }

    public void setNum(int num) {
        this.num = num;
    }
}

class combiNum
{
    private String num;

    combiNum()
    {
        num = "";
    }
    combiNum(int A, int B)
    {
        num = Integer.toString(A) + Integer.toString(B);
    }

    public long getNum() {
        return Long.parseLong(num);
    }

    public void setNum(int A, int B)
    {
        this.num = Integer.toString(A) + Integer.toString(B);
    }
}

public class Bj10824 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        num A = new num();
        num B = new num();
        num C = new num();
        num D = new num();
        combiNum AB = new combiNum();
        combiNum CD = new combiNum();

        A.setNum(sc.nextInt());
        B.setNum(sc.nextInt());
        C.setNum(sc.nextInt());
        D.setNum(sc.nextInt());

        AB.setNum(A.getNum(), B.getNum());
        CD.setNum(C.getNum(), D.getNum());

        //1020 + 3040
        System.out.println(AB.getNum());
        System.out.println(CD.getNum());
        System.out.println(AB.getNum() + CD.getNum());
        

        sc.close();
    }
} 

0개의 댓글