문제
두 정수 A와 B를 입력받아 A+B를 출력하는 프로그램을 작성하시오.
이 문제에서 A와 B는 한 줄에 콤마(,)로 구분되어 입력된다.
입력
첫째 줄에 테스트케이스의 개수 T가 주어진다. (1 ≤ T ≤ 10)
각 테스트케이스는 두 정수 A와 B가 콤마로 구분되어 한 줄에 주어진다. (0 ≤ A, B ≤ 1,000)
출력
각 테스트케이스마다 A+B를 출력한다.
예제
입력 1
5
1,1
2,3
3,4
9,8
5,2출력 1
2
5
7
17
7풀이
핵심 아이디어: 입력이 공백이 아닌 콤마(,)로 구분되어 있으므로, StringTokenizer의 구분자를 ,로 설정하여 파싱한다.
- 테스트케이스 수 T를 입력받는다.
- 각 줄을 읽어
StringTokenizer를 구분자","로 생성한다. nextToken()으로 A와 B를 각각 파싱하여 정수로 변환한다.- A + B를 출력한다.
split(",") 대신 StringTokenizer를 사용하면 더 빠르게 파싱할 수 있다.
코드
import java.io.*;
import java.util.StringTokenizer;
public class Day354BOJ10953A더하기B {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int test_case = Integer.parseInt(br.readLine());
for (int i = 0; i < test_case; i++) {
StringTokenizer st = new StringTokenizer(br.readLine(), ",");
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
System.out.println(a + b);
}
}
}복잡도
- 시간: O(T) — 테스트케이스 수만큼 순회
- 공간: O(1) — 입력 줄 외 추가 자료구조 없음