alpyrithm_알파이리즘
[알고리즘][Java] 백준(BOJ) 10951 A+B - 4_자바 본문
입출력
10951 A+B - 4 www.acmicpc.net/problem/10951
문제 풀기 전 공부할 것 : 입출력, while
풀이 1
<내용>
- Scanner를 이용하여 입력을 받는다.
- 다음에 입력받는 값이 있으면 A, B를 입력받고 합을 출력하는 과정을 반복한다.
- 입력받는 값이 있는가 확인하는 방법은 hasNext(), hasNextInt() 사용한다.
<코드>
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNextInt()) {
int a, b;
a = sc.nextInt();
b = sc.nextInt();
System.out.println(a+b);
}
sc.close();
}
}
풀이 2
<내용>
- BufferedReader를 이용해서 입력받는다.
- buffer : 데이터를 한 곳에서 다른 한 곳으로 전송하는 동안 일시적으로 그 데이터를 보관하는 임시 메모리 영역
- 속도가 빠르다.
- 데이터가 String으로 고정
- 엔터(개행문자)만 경계로 인식한다.
- try/catch 예외처리 또는 throws IOException을 통한 예외처리 필요
- BufferedReader의 readLine()은 한 줄을 읽기 때문에 공백을 기준으로 문자열을 분리해야 한다.
- StringTokenizer를 이용하여 공백을 분리한다.
- BufferedReader에서 받은 Line단위의 문자를 공백단위로 처리하고 싶을 때 사용
- nextToken()으로 분리하면 문자열을 반환하므로 Integer.parseInt() 함수를 통해 int형으로 변환한다.
- StringBuilder를 출력 방법으로 사용한다.
- 문자열을 다루는 클래스
- append()로 문자열 추가
<코드>
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));
StringBuilder sb = new StringBuilder();
StringTokenizer st;
String str;
while ((str=br.readLine()) != null) {
st = new StringTokenizer(str, " ");
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
sb.append(a+b).append("\n");
}
System.out.print(sb);
}
}
같은 문제 파이썬 풀이법
728x90
반응형
'Algorithm > 백준 알고리즘_Java' 카테고리의 다른 글
[알고리즘][Java] 백준(BOJ) 10953 A+B - 6_자바 (0) | 2021.02.24 |
---|---|
[알고리즘][Java] 백준(BOJ) 10952 A+B - 5_자바 (0) | 2021.02.23 |
[알고리즘][Java] 백준(BOJ) 10950 A+B - 3_자바 (0) | 2021.02.21 |
[알고리즘][Java] 백준(BOJ) 2558 A+B - 2_자바 (0) | 2021.02.20 |
[알고리즘][Java] 백준(BOJ) 1000 A+B_자바 (0) | 2021.02.19 |
Comments