코딩테스트
백준 1000번 A+B
NellKiM
2025. 4. 7. 21:29
1.Scanner사용
import java.util.Scanner;
//Scanner사용
//입력을 간단히 할 수 있음.
public class Main1_1000 {
public static void main(String[] args) {
// Scanner 객체 생성
Scanner sc = new Scanner(System.in);
// 두 정수 A와 B 입력받기
int A = sc.nextInt();
int B = sc.nextInt();
// A와 B의 합 출력
System.out.println(A + B);
// Scanner 객체 닫기
sc.close();
}
}
2.BufferedReader사용
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
//BufferedReader사용
//속도: BufferedReader는 Scanner보다 빠른 입출력을 제공합니다. 대량의 데이터 처리 시 유리합니다.
//메모리 사용 최적화: BufferedReader는 내부 버퍼를 사용하여 여러 번의 입력을 한 번에 처리합니다.
public class Main2_1000 {
public static void main(String[] args) throws IOException {
// BufferedReader 객체 생성 (InputStreamReader로 System.in 연결)
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// 입력 받기 (문자열로 입력받고, 공백 기준으로 분리한 후 정수로 변환)
String[] input = br.readLine().split(" ");
int A = Integer.parseInt(input[0]); //Integer.parseInt("23") ==> 23
int B = Integer.parseInt(input[1]);
// A와 B의 합 출력
System.out.println(A + B);
// BufferedReader 객체 닫기
br.close();
}
}
3.BufferedReader , StringTokenizer 사용
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.StringTokenizer;
//Buffered + StringTokenizer 사용
//속도: BufferedReader와 StringTokenizer를 조합하면, 빠르게 입력을 받고 효율적으로 처리할 수 있습니다.
//메모리 효율성: StringTokenizer는 구분자로 문자열을 나누고, 각 토큰을 하나씩 읽을 수 있기 때문에 메모리 사용이 효율적입니다.
public class Main3_1000 {
public static void main(String[] args) throws IOException {
// BufferedReader 객체 생성 (InputStreamReader로 System.in 연결)
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// 입력받은 한 줄을 StringTokenizer로 분리
StringTokenizer st = new StringTokenizer(br.readLine());
// StringTokenizer로 분리된 값을 정수로 변환
int A = Integer.parseInt(st.nextToken());
int B = Integer.parseInt(st.nextToken());
// A와 B의 합 출력
System.out.println(A + B);
// BufferedReader 객체 닫기
br.close();
}
}
4.BufferedReader, StringTokenizer, BufferedWriter 사용
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
import java.io.IOException;
import java.util.StringTokenizer;
//BufferedReader, StringTokenizer, BufferedWriter 사용
//입출력 속도: BufferedReader와 StringTokenizer는 빠른 입력을 처리하고,
//BufferedWriter는 빠른 출력을 처리합니다. 이 조합은 입출력 성능을 최적화하는 데 유리합니다.
//메모리 효율성: StringTokenizer를 사용하면 공백을 기준으로 효율적으로 문자열을 분리할 수 있습니다.
public class Main4_1000 {
public static void main(String[] args) throws IOException {
// BufferedReader 객체 생성 (InputStreamReader로 System.in 연결)
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// BufferedWriter 객체 생성 (OutputStreamWriter로 System.out 연결)
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
// 입력받은 한 줄을 StringTokenizer로 분리
StringTokenizer st = new StringTokenizer(br.readLine());
// StringTokenizer로 분리된 값을 정수로 변환
int A = Integer.parseInt(st.nextToken());
int B = Integer.parseInt(st.nextToken());
// A와 B의 합을 BufferedWriter를 사용하여 출력
bw.write(String.valueOf(A + B) + "\n");
// BufferedWriter 객체를 닫아 출력 버퍼를 플러시
bw.flush();
// BufferedReader와 BufferedWriter 객체 닫기
br.close();
bw.close();
}
}
5.BufferedReader, StringTokenizer, StringBuilder 사용
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.StringTokenizer;
import java.lang.StringBuilder;
//BufferedReader, StringTokenizer, StringBuilder 사용
//속도: BufferedReader는 입력을 빠르게 처리하며, StringTokenizer는 문자열을 빠르게 분리합니다.
//StringBuilder는 문자열을 효율적으로 결합하고 처리하는 데 유리합니다.
//메모리 효율성: StringBuilder를 사용하면 불필요한 문자열 객체 생성을 방지하여 메모리 효율성이 높아집니다.
public class Main5_1000 {
public static void main(String[] args) throws IOException {
// BufferedReader 객체 생성 (InputStreamReader로 System.in 연결)
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// 입력받은 한 줄을 StringTokenizer로 분리
StringTokenizer st = new StringTokenizer(br.readLine());
// StringTokenizer로 분리된 값을 정수로 변환
int A = Integer.parseInt(st.nextToken());
int B = Integer.parseInt(st.nextToken());
// StringBuilder를 사용하여 출력할 문자열 만들기
StringBuilder sb = new StringBuilder();
// A와 B의 합을 StringBuilder에 추가
sb.append(A + B)
.append('\n');
// StringBuilder 내용을 출력
System.out.print(sb.toString());
// BufferedReader 객체 닫기
br.close();
}
}