Notice
														
												
											
												
												
													Recent Posts
													
											
												
												
													Recent Comments
													
											
												
												
													Link
													
											
									| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 | 
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 
| 16 | 17 | 18 | 19 | 20 | 21 | 22 | 
| 23 | 24 | 25 | 26 | 27 | 28 | 29 | 
| 30 | 
													Tags
													
											
												
												- GitHub #Commit #BaekJoon
 - 10992
 - 연속부분수열
 - 투 포인터
 - array
 - 코테준비
 - 모든행과열대각선의합
 - 백준
 - java
 - 임시반장 정하기
 - 큰 수 출력하기
 - 점수계산
 - 10991
 - 가장 짧은 문자거리
 - Two Pointer
 - 등수구하기
 - Pointer
 - 두 배열 합치기
 - 자바
 - 뒤집은 소수
 - 누적 계산
 - 최대 길이
 - 보이는 학생
 - 알고리즘
 - 공통원소 구하기
 - 아스키코드
 - 인프런
 - 배열
 - 격자판
 - ArrayList
 
													Archives
													
											
												
												- Today
 
- Total
 
ezhoon
[백준] 1000_Java 본문
1000번: A+B
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
www.acmicpc.net

처음 문제로 가장 간단한 입출력 문제이다.
주의할 점
- 입력 구분이 공백으로 구분된다.
 
문제풀이
Scanner를 사용하는 방식
import java.util.Scanner;
public class Arithmetic_1000 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int A = in.nextInt();
        int B = in.nextInt();
        System.out.println(A+B);
        in.close();
    }
}
위 방식이 친숙하고 대학교 수업 때도 자주 사용했던 방법이다.
하지만 BufferedReader 와 Scanner의 성능 차이가 있기 때문이다. 아직까지는 짧은 코드라서 눈의 띄지는 않는다.
-> 나중에가면 시간 초과로 인해 못 푸는 문제가 생길 수 있다. 실제로도 제한시간을 빡빡하게 둔 문제들이 많기 때문에 꼭 알아둬야 한다.
BufferedReader를 사용하는 방식
1. StringTokenizer("문자열", 구분자)
public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str = br.readLine();
        StringTokenizer st = new StringTokenizer(str, " ");
        int a = Integer.parseInt(st.nextToken());
        int b = Integer.parseInt(st.nextToken());
        System.out.println(a + b);
    }
}
2. split()
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] str = br.readLine().split(" ");
        int a = Integer.parseInt(str[0]);
        int b = Integer.parseInt(str[1]);
        System.out.println(a+b);
    }
BufferedReader의 경우 문자열을 받는 방법
- readLine() -> 한 행을 읽는다.
 - read() -> 한 문자를 읽는다.
 
특별한 경우가 없는 한 대부분 readLine()을 사용한다.
성능적 측면 StringTokenizer > split 이므로 앞으로 나오는 예제들은 StringTokenizer로 가급적 사용할 예정이다.
참고 게시물
'[Java] 백준 문제풀이 > 입출력과 사칙연산' 카테고리의 다른 글
| [백준] 10998_Java (0) | 2022.01.02 | 
|---|---|
| [백준] 1001_Java (0) | 2022.01.02 | 
| [백준] 10172_Java (0) | 2022.01.02 | 
| [백준] 10171_Java (0) | 2022.01.02 | 
| [백준] 10718_Java (0) | 2022.01.02 | 
			  Comments