[★1][백준11021번]A+B - 7 (JAVA)
11021번 문제 ☞ https://www.acmicpc.net/problem/11021
난이도 ☞ [★1]
A+B - 7
문제
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
첫째 줄에 테스트 케이스의 개수 T가 주어진다.
각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다.
예제입력 예제출력 5
1 1
2 3
3 4
9 8
5 2Case #1: 2
Case #2: 5
Case #3: 7
Case #4: 17
Case #5: 7
내가 푼 풀이
이번 문제는 매우 쉽다고 생각한다. for
문 + A+B
포함 문제를 풀어봤다면 매우 쉽게 풀 수 있다고 생각하고 약간의 응용(?) 문제라고 생각한다. 제일 기본적으로 Scanner
방식을 이용했다.
[ 풀이 1 ]
메모리 :
18640KB
시간 :256ms
Scanner
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int t = s.nextInt();
for (int i = 1; i < t + 1; i++) {
int a = s.nextInt();
int b = s.nextInt();
System.out.println("Case #" + i + ": " + (a + b));
}
s.close();
}
}
위의 "Case #" + i
부분을 약간 설명하자면 i
가 1이 기본이기 때문에 첫번째 서클을 돌 때, 1이 대입이 되고 순차적으로 서클이 돌 때마다 1씩 증가되게 되어 i
의 수가 변한다. 다음은 BufferedReader
방식이다. 코드는 아래와 같다.
[ 풀이 2 ]
메모리 :
16176KB
시간 :168ms
BufferedReader, StringTokenizer
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int t = Integer.parseInt(br.readLine());
for (int i = 1; i < t + 1; i++) {
StringTokenizer st;
st = new StringTokenizer(br.readLine(), " ");
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
System.out.println("Case #" + i + ": " + (a + b));
}
}
}
여기서도 보다시피 BufferedReader
의 성능이 우수함을 알 수 있다.
'Coding Test > 백준' 카테고리의 다른 글
[★1][백준2439번 for JAVA]별 찍기 - 2 (0) | 2023.03.20 |
---|---|
[★1][백준2438번 for JAVA]별 찍기 - 1 (0) | 2023.03.19 |
[★2][백준11382번 for JAVA] 꼬마 정민 (0) | 2023.03.18 |
[★1][백준15596번 for JAVA]정수 N개의 합 (0) | 2023.02.27 |
[★2][백준4344번 for JAVA]평균은 넘겠지 (0) | 2023.02.26 |
댓글