https://www.acmicpc.net/problem/10952
10952번: A+B - 5
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
www.acmicpc.net
참고 유형
https://unknownomad.tistory.com/99
[백준] 11021번 : A + B - 7 - Java
https://www.acmicpc.net/problem/11021 11021번: A+B - 7 각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다. www.acmicpc.net 구현 방법 입력 Scanner B..
unknownomad.tistory.com
주의점
- 두 정수 : 공백으로 구분되어 입력됨
- 테스트 종료 기준 : 두 개의 0을 입력받을 때
구현 방법
1. Scanner + System.out.println()
2. BufferedReader + StringTokenizer + StringBuilder
- 자료형 타입 주의
- st.nextToken(): 문자열 반환하기에, Integer.parseInt()로 int형으로 변환시켜야 함
3. BufferedReader + String.charAt() + StringBuilder
- 입력 숫자 범위 : 한 자리 수
공백 위치가 고정됨 ➡ String.charAt() 활용하여 성능 높이기
해당 문자의 아스키코드 값 반환 ➡ 정수 형태로 변경 위해 - 48 또는 - '0' 추가해야 함
풀이
1. Scanner + System.out.println()
import java.util.Scanner;
public class Main {
public static void main(String args[]){
Scanner in = new Scanner(System.in);
while(true){
int A = in.nextInt();
int B = in.nextInt();
if(A == 0 && B == 0) {
in.close();
break;
}
System.out.println(A + B);
}
}
}
2. BufferedReader + StringTokenizer + StringBuilder
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
StringBuilder sb = new StringBuilder();
while(true) {
st = new StringTokenizer(br.readLine(), " ");
int A = Integer.parseInt(st.nextToken());
int B = Integer.parseInt(st.nextToken());
if(A == 0 && B == 0) {
break;
}
sb.append((A + B)).append("\n");
}
System.out.println(sb);
}
}
3. BufferedReader + String.charAt() + StringBuilder
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
while(true) {
String str = br.readLine();
int A = str.charAt(0) - 48;
int B = str.charAt(2) - 48;
if(A == 0 && B == 0) {
break;
}
sb.append((A + B)).append("\n");
}
System.out.println(sb);
}
}
성능
- BufferedReader + String.charAt() + StringBuilder
- BufferedReader + StringTokenizer + StringBuilder
- Scanner + System.out.println()
'Algorithm > Baekjoon' 카테고리의 다른 글
[백준] 1110번 : 더하기 사이클 - Java (0) | 2022.02.28 |
---|---|
[백준] 10951번 : A + B - 4 - Java (0) | 2022.02.23 |
[백준] 10871번 : X보다 작은 수 - 2 - Java (0) | 2022.02.23 |
[백준] 2439번 : 별 찍기 - 2 - Java (0) | 2022.02.22 |
[백준] 2438번 : 별 찍기 - 1 - Java (0) | 2022.02.22 |
댓글