728x90
반응형
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
첫째 줄에 테스트 케이스의 개수 T가 주어진다.
각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)
각 테스트 케이스마다 A+B를 출력한다.
그런데 주의사항) Case #1: (A+B결과값) 꼴로 출력해야 한다
여기 와 똑같은 문제나 마찬가지지만 다른 방법으로 풀어보자
맨 첫줄 반복횟수 앞뒤로 'Case #' 과 '반복회차' 붙이는 건 전혀 어렵지 않고
이번에는 BufferedReader를 사용해서 다르게 접근했다.
실무에서도 DB i/o가 너무 많아지는 코드, 기본 프레임워크 사용하면 수행시간 너무 오래걸리는
무지막지 대용량 배치의 경우 BufferedReader를 사용해놓은 걸 본 적 있다.
StringTokenizer의 구분자를 공백으로 설정하고 공백이 보일때마다 끊어서 변수를 저장하는데
int형으로는 바로 저장이 안된다.
nextToken()으로 끊으면 string타입이라고 한다.
그래서 형변환을 미리 또 해줬다 아니겠어
import java.io.*;
import java.util.*;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int a =Integer.parseInt(br.readLine());
StringTokenizer st ;
for (int i = 1; i <= a ; i++){
st = new StringTokenizer(br.readLine(), " "); //띄어쓰기 기준으로 구문을 끊을거야
int x = Integer.parseInt(st.nextToken()); //nextToken으로 끊으면 string형태라 형변환
int y = Integer.parseInt(st.nextToken());
int sum = x + y;
System.out.println("Case #"+ i + ": " + sum);
}
}
}
(컴파일에러는 throwsIOException 빼먹어서임;;)
실제로 스캐너 방식에 비해 압도적으로 빠른 것을 확인 완료
728x90
반응형
'study > CodingTest' 카테고리의 다른 글
백준 2577 숫자의 갯수(Java) - 배열 (0) | 2021.11.07 |
---|---|
백준 1110 더하기 사이클 : while문 반복, 덧셈/나눗셈/몫과 나머지 로직 (Java) (0) | 2021.11.06 |
백준 2753 윤년 판별 (Java) (0) | 2021.11.05 |
백준 2884 알람시계 (Java) (0) | 2021.11.05 |
백준 10950 A+B 주어진 개수만큼 반복 출력하기 (Java) (0) | 2021.11.05 |
댓글