개발도생's Blog
[백준][Java] 15552_빠른 A+B 본문
[백준] 15552_빠른 A+B 문제
15552번: 빠른 A+B
첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다.
www.acmicpc.net
문제 자체는 어렵지 않지만, 시간제한이 있는 문제다.
문제에서 최대 100만 개의 테스트 케이스가 주어지는데, 케이스가 늘어나면 print함수로는 한계가 있다.
때문에 BufferedReader Class를 사용해도 시간 초과가 될 수 있다.
그래서 다른 방법으로 문제를 풀어보았다.
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 N = Integer.parseInt(br.readLine());
StringTokenizer st;
StringBuilder sb = new StringBuilder();
for(int i = 0; i < N; i++){
st = new StringTokenizer(br.readLine(), " ");
sb.append(Integer.parseInt(st.nextToken()) + Integer.parseInt(st.nextToken())).append("\n");
}
System.out.println(sb);
}
}
입력 값은 Bufferedreader객체를 사용해 값을 받아 오도록 했다.
[Java][Class] Bufferedreader
코딩 테스트 문제들을 풀다가 우연히 알게 된 Bufferedreader 객에 대해서 공부해봤다. Bufferedreader Class는, 이름과 같이 버퍼를 사용하는 클래스다. 일반적으로 알고 있던 Scanner Class는 사용자가 값을
nan-o-nuel-do.tistory.com
첫째줄의 값을 Integer.parseInt() 메서드를 통해 정수 타입으로 형 변환시켜 변수에 저장해주었다.
두 번째 줄부터는 띄어쓰기(스페이스바)가 있는 값을 입력하기 때문에 StringTokenizer객체를 반복문 밖에 선언을 했다.
[Java][Class] StringTokenizer
평소 유용하게 사용하고 있는 객체 StringTokenizer를 공부해봤다. StringTokenizer Class는, 단순하게 표현한다면 문자들을 토큰화 시켜준다고 이해하면 편할 것 같다. 토큰으로 분리된 문자들을 StringToken
nan-o-nuel-do.tistory.com
StringBuilder객체를 선언해주고 반복문 안에서 append() 메서드를 사용해 값을 저장해주고, 한 번에 출력하도록 해주었다.
[Java][Class] StringBuilder
자주는 아니지만 알고리즘 문제를 풀 때 종종 사용했던 StringBuilder Class를 공부해봤다. 먼저 String Class의 한계, String Class는 불변(Immutable) 객체라고 한다. 설명을 조금 하자면 아래의 코드와 같이
nan-o-nuel-do.tistory.com
위와 같은 코드로 제출했을 때,
맞았습니다!!
'BaekJoon' 카테고리의 다른 글
[백준][Java] 15680_연세대학교 (0) | 2022.12.15 |
---|---|
[백준][Java] 15610_Abbey Courtyard (0) | 2022.12.11 |
[백준][Java] 15439_Vera and Outfits (2) | 2022.12.09 |
[백준][Java] 15232_Rectangles (1) | 2022.12.09 |
[백준][Java] 15080_Every Second Counts (1) | 2022.12.08 |