알고리즘

[JAVA] 백준 알고리즘_111382(꼬마 정민)

줌인. 2024. 6. 21. 17:12

▶ 백준 알고리즘 10172

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

 

문제에서 1 ≤ x ≤ 10¹²의 표시가 있는 경우
데이터 타입에 대한 고민을 할 필요가 있다.

 

[문제]

꼬마 정민이는 이제 A + B 정도는 쉽게 계산할 수 있다. 이제 A + B + C를 계산할 차례이다!

 

[예제 입력]
77 77 7777

 

[예제 출력]
7931

 

[작성 코드]

1️⃣ 단순 long 타입 출력

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        long a = sc.nextLong();
        long b = sc.nextLong();
        long c = sc.nextLong();
        System.out.println(a + b + c);
    }
}

 

2️⃣ String 타입 후 Integer 변환 출력

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String a = sc.next();
        String b = sc.next();
        String c = sc.next();
        System.out.println(Long.parseLong(a.trim()) +
                Long.parseLong(b.trim()) + Long.parseLong(c.trim()));
    }
}

 

 

[데이터 타입 범위 알아보기]

long 타입 int 타입
- 64비트 정수형
- 범위 : -9,223,372,036,854,775,808 ~
            9,223,372,036,854,775,807
 ∴ 10의 12승인 1,000,000,000,000은 long 타입으로 표현가능
     (10의 10승부터 long 타입)
- 32비트 정수형
- 범위 : -2,147,483,648 ~ 2,147,483,647
10의 9승인 1,000,000,000은 int 타입으로 표현 가능

 

 


 

[초기 에러_런타임 에러]

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int A = sc.nextInt();
        int B = sc.nextInt();
        int C = sc.nextInt();
        System.out.println(A + B + C);
    }
}

- 10진수의 내역을 보지 않고 int 코드를 찍어서 에러가 발생함

728x90