[★1][백준10950번]A + B - 3 (JAVA)
카테고리: BKJN
태그: Algorithm Java Coding Test
[★1][백준10950번]A + B - 3 (JAVA)
10950번 문제 ☞ https://www.acmicpc.net/problem/10950
난이도 ☞ [★1]
A + B - 3
- 문제
- 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
- 첫째 줄에 테스트 케이스의 개수 T가 주어진다.
각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) -
각 테스트 케이스마다 A+B를 출력한다.
예제입력 예제출력 5
1 1
2 3
3 4
9 8
5 22
5
7
17
7
내가 푼 풀이
이번 문제는 for
문을 활용하여 구현하는 부분입니다. 우선 제일 기본적인 Scanner
를 사용하여 출력하는 방법입니다.
[ 풀이 1 ]
메모리 :
17952KB
시간 :240ms
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 = 0; i < t; i++) { // t번 만큼 반복함.
int a = s.nextInt(); // a를 입력 받음
int b = s.nextInt(); // b를 입력 받음
System.out.println(a + b); // a+b를 출력함
}
s.close();
}
}
다음은 for
문과 Scanner
를 활용하여 Array
에 담아서 하나씩 꺼내어 출력하는 방법입니다.
[ 풀이 2 ]
메모리 :
17888KB
시간 :228ms
Scanner, Array
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int t = s.nextInt();
int arr[] = new int[t];
for (int i = 0; i < t; i++) {
int a = s.nextInt();
int b = s.nextInt();
arr[i] = a + b; // i번째에 a+b의 값을 담음
}
s.close();
for(int j:arr ) {
System.out.println(j); // arr의 값을 하나씩 꺼내어 출력함
}
}
}
마지막으로 BufferedReader
를 사용하여 작성을 하도록 해보겠습니다. 아래의 코드를 참고하시기 바랍니다. 이 방법도 Array
방식과 비슷하게 배열을 저장해두었다가 출력하는 방식이다. Array
에서는 하나씩 꺼내는 방식이었다면 이번 방식은 한번에 \n
까지 입력해주어 한번에 출력하는 방법이다. 꺼내는 방식의 차이가 조금 있다.
[ 풀이 3 ]
메모리 :
14172KB
시간 :124ms
BufferedReader, StringBuilder, StringTokenizer ```java 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());
StringTokenizer st;
StringBuilder sb = new StringBuilder();
for (int i = 0; i < t; i++) {
st = new StringTokenizer(br.readLine(), " ");
sb.append(Integer.parseInt(st.nextToken()) + Integer.parseInt(st.nextToken()));
// 값을 두개 받아 더해서 sb에 append함.
sb.append('\n');
// 각각 줄 바꿈도 해줌.
}
System.out.println(sb);
}
}
```
이번 문제에서도 보다시피 Scanner
보다는 BufferedReader
의 성능이 훨씬 좋음을 알 수 있다.
댓글 남기기