[★2][백준11382번]꼬마 정민 (JAVA)
11382번 문제 ☞ https://www.acmicpc.net/problem/11382
난이도 ☞ [★2]
꼬마 정민
문제
꼬마 정민이는 이제 A + B 정도는 쉽게 계산할 수 있다. 이제 A + B + C를 계산할 차례이다!
첫 번째 줄에 A, B, C (1 ≤ A, B, C ≤ 1012)이 공백을 사이에 두고 주어진다.
A+B+C의 값을 출력한다.
예제입력 예제출력 77 77 7777 7931
내가 푼 풀이
이번 문제는 주의해야할 점이 있다. 그것은 바로 숫자의 범위인데 1012인데 이 수의 범위는 int
형으로 받을 수 없으니, Long
형을 선언해서 가져가야합니다. 제가 푼 풀이는 아래와 같습니다.
[ 풀이 1 ]
메모리 :
17732
KB
시간 :208
ms
Scanner + Arrays.sort()
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
long a = in.nextLong();
long b = in.nextLong();
long c = in.nextLong();
System.out.println(a+b+c);
}
}
가장 기본적인 Scanner
방식을 활용하여 작성해보았습니다. 매우 심플하게 작성할 수 있는 방법입니다. 하지만 성능면에서는 조금 떨어지는 부분이 있습니다. 다음은 BufferedReader
방식을 활용하여 작성했습니다.
[ 풀이 2 ]
메모리 :
14220
KB
시간 :120
ms
Scanner + for
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine()," ");
Long a = Long.parseLong(st.nextToken());
Long b = Long.parseLong(st.nextToken());
Long c = Long.parseLong(st.nextToken());
System.out.println(a+b+c);
}
}
이번 문제는 최근에 추가된 문제이며, 생각보다 쉽게 풀 수 있었습니다. 수의 범위만 조심한다면 별 문제없이 푸실 수 있을거라고 생각이 듭니다. 그리고 이번 코드에서도 보여지다시피 Scanner
보다는 BufferedReader
가 좋아보입니다.
'Coding Test > 백준' 카테고리의 다른 글
[★1][백준2438번 for JAVA]별 찍기 - 1 (0) | 2023.03.19 |
---|---|
[★1][백준11021번 for JAVA]A+B - 7 (0) | 2023.03.18 |
[★1][백준15596번 for JAVA]정수 N개의 합 (0) | 2023.02.27 |
[★2][백준4344번 for JAVA]평균은 넘겠지 (0) | 2023.02.26 |
[★1][백준1546번 for JAVA]평균 (0) | 2023.02.26 |
댓글