반응형

10824번 - BigInteger을 사용한 풀이

 

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.math.BigInteger;
import java.util.StringTokenizer;

public class Main {

	public static void main(String[] args) throws IOException {

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

		StringTokenizer st = new StringTokenizer(br.readLine());
		String A = st.nextToken();
		String B = st.nextToken();
		String C = st.nextToken();
		String D = st.nextToken();

		BigInteger AB = new BigInteger(A + B);
		BigInteger CD = new BigInteger(C + D);

		bw.write(AB.add(CD).toString());
		bw.flush();
		bw.close();
	}

}

 

10824번 - long 자료형을 사용한 풀이

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;

public class Main {

	public static void main(String[] args) throws IOException {

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

		StringTokenizer st = new StringTokenizer(br.readLine());
		String A = st.nextToken();
		String B = st.nextToken();
		String C = st.nextToken();
		String D = st.nextToken();

		long ab = Long.parseLong(A + B);
		long cd = Long.parseLong(C + D);

		bw.write(String.valueOf(ab + cd));
		bw.flush();
		bw.close();
	}

}

 

처음 문제에 접근한 방식

1. 네 자연수의 범위가 (1 ≤ A, B, C, D ≤ 1,000,000)로 붙이는 두자연수가 모두 백만일 경우 int 형의 최대값 21억을 넘어감

2. BigInteger 또는 long 형을 사용해야 겠다고 생각함

 

정답을 맞춘 풀이방법

1 . BigInteger, long를 각각 활용하여 문제해결

반응형

'알고리즘 > 백준 문제[추후 옮길예정]' 카테고리의 다른 글

[JAVA] 백준 2609번  (0) 2021.05.15
[JAVA] 백준 11656번  (0) 2021.05.13
[JAVA] 백준 11655번  (0) 2021.05.12
[JAVA] 백준 2743번  (0) 2021.05.12
[JAVA] 백준 10820번  (0) 2021.05.11

+ Recent posts