Algorithm/Baekjoon
[백준] 11022번 : A + B - 8 - Java
unknownomad
2022. 2. 22. 11:16
https://www.acmicpc.net/problem/11022
11022번: A+B - 8
각 테스트 케이스마다 "Case #x: A + B = C" 형식으로 출력한다. x는 테스트 케이스 번호이고 1부터 시작하며, C는 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
구현 방법
입력
- Scanner
- BufferedReader + StringTokenizer / String.charAt()
* 자료형 타입 주의!
* st.nextToken(): 문자열 반환 ➡ Integer.parseInt()로 int형으로 변환시켜야 함
출력
- System.out.println()
- BufferedWriter
* BufferedWriter.write(): 단독으로 int형 값만 넣으면 아스키 코드값으로 인식되기에 다른 문자가 출력됨
➡ 반드시 문자열과 int형을 함께 넣어야 int값 제대로 출력 - StringBuilder
풀이
1. Scanner + System.out.println()
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
Scanner in = new Scanner(System.in);
int T = in.nextInt();
for (int i = 1; i <= T; i++) {
int A = in.nextInt();
int B = in.nextInt();
System.out.println("Case #" + i + ": " + A + " + " + B + " = " + (A + B));
}
in.close();
}
}
2. BufferedReader + StringTokenizer + System.out.println()
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
import java.io.IOException;
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());
int A;
int B;
StringTokenizer st;
for (int i = 1; i <= T; i++) {
st = new StringTokenizer(br.readLine()," ");
A = Integer.parseInt(st.nextToken());
B = Integer.parseInt(st.nextToken());
System.out.println("Case #" + i + ": " + A + " + " + B + " = " + (A + B));
}
br.close();
}
}
3. BufferedReader + StringTokenizer + BufferedWriter
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
import java.io.IOException;
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
public class Main {
public static void main(String args[]) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int T = Integer.parseInt(br.readLine());
int A;
int B;
StringTokenizer st;
for (int i = 1; i <= T; i++) {
st = new StringTokenizer(br.readLine()," ");
A = Integer.parseInt(st.nextToken());
B = Integer.parseInt(st.nextToken());
//단독으로 int형 값만 넣으면 아스키 코드값으로 인식되기에 다른 문자가 출력됨
//반드시 문자열과 int형을 함께 넣어야 int값 제대로 출력
bw.write("Case #" + i + ": ");
bw.write(A + " + " + B + " = ");
bw.write((A + B) + "\n");
}
br.close();
bw.flush();
bw.close();
}
}
4. BufferedReader + StringTokenizer + StringBuilder
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
import java.io.IOException;
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());
int A;
int B;
StringBuilder sb = new StringBuilder();
StringTokenizer st;
for (int i = 1; i <= T; i++) {
st = new StringTokenizer(br.readLine()," ");
A = Integer.parseInt(st.nextToken());
B = Integer.parseInt(st.nextToken());
//출력할 문자에 여러 타입이 섞이면 타입 검사량 및 처리 시간 증가
//append로 나눠주기
sb.append("Case #" + i + ": ").append(A + " + " + B + " = " + (A + B)).append("\n");
}
br.close();
System.out.println(sb);
}
}
5. 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();
int T = Integer.parseInt(br.readLine());
for (int i = 1; i <= T; i++) {
String str = br.readLine();
int A = str.charAt(0) - '0';
int B = str.charAt(2) - '0';
sb.append("Case #").append(i).append(": ").append(A)
.append(" + ").append(B).append(" = ").append(A + B).append("\n");
}
System.out.println(sb);
}
}
성능
- BufferedReader > Scanner
- BufferedWriter / StringBuilder > System.out.println()
출처 : https://st-lab.tistory.com/34