열정 실천

백준 - 1247 부호 [JAVA] (BigInteger사용) 본문

개발 공부/백준 문제풀이

백준 - 1247 부호 [JAVA] (BigInteger사용)

구운오니 2022. 7. 6. 00:58

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;

public class baekjoon_1247 {
    public static void main (String args[]) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        BigInteger sum = new BigInteger("0");
        BigInteger zero = new BigInteger("0");
        String sign = "";

        for (int i=0; i<3; i++){
            String a = br.readLine();
            sum = BigInteger.ZERO;
            for (int j=0; j<Integer.parseInt(a); j++){

                String su = br.readLine();
                BigInteger mul = new BigInteger(su);
                if(su.charAt(0) == '-') {
                    mul.negate();
                }

                sum = sum.add(mul);
            }

            if(sum.compareTo(zero) == 0)  sign = "0";
            else if (sum.compareTo(zero) == -1) sign = "-";
            else sign = "+";
            sb.append(sign).append("\n");
        }
        System.out.println(sb);
    }
}

합한 값의 범위가 long 타입의 범위까지 벗어나기 때문에 
BigInterger 형을 사용하였다. 

BigIntegr 타입은 int, long, float 과 같은 기본 타입들과 사용하는 방법이 다르다. 

BigInter 의 자세한 사용법을 알아보자!!!!

↓여기서!!↓

https://guun-oni.tistory.com/12