-
[백준] 10951번 _ A+B - 4 (자바)[ DEV ] Backend/브론즈 마스터하기 2022. 7. 25. 00:02
https://www.acmicpc.net/problem/10951
10951번: A+B - 4
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
www.acmicpc.net
< 문제 >
🚨주의
-입력이 끝나는 지점이 없기 때문에 EOF 처리를 해야한다.
✏️ EOF (End Of File)
- 데이터 소스로부터 더이상 읽을 수 있는 데이터가 없음을 나타내는 용어
💻 EOF 예제
1) Scanner 클래스
Scanner sc = new Scanner(System.in); while(sc.hasNext()) { System.out.println(sc.nextLine()); }
2) BufferedReader 클래스
public static void main(String[] args) throws IOException; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String st; while ((st = br.readLine()) != null) { }
✔️ 생각해야 하는 포인트
1. while 문으로 반복 입력할 수 있도록! 하지만 입력한 값이 없을 때 종료되어야 하므로 while 문 조건에 EOP 조건을 추가해주기!!
2. BufferedReader 사용시, 공백간격을 두고 입력한 후 공백을 제거해야 하므로 StringTokenizer 사용!
1. Scanner 를 이용한 풀이
* 입력받는 값이 있는지 없는지 확인하기 위해서 hasNext() 와 hasNextInt() 를 사용하면 된다.
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNextInt()){ int a = sc.nextInt(); int b = sc.nextInt(); System.out.println(a+b); } sc.close(); } }
2. Bufferedreader 를 이용한 풀이
* BufferedReader의 readLine()은 한 줄을 읽기 때문에 공백을 기준으로 문자열을 분리해야 함.
이때 StringTokenizer를 이용해서 문자를 공백 단위로 처리해 준다.
nextToken()으로 분리하면 숫자가 아닌 문자열로 반환하기 때문에 Integer.parseInt() 함수를 통해 int 형으로 바꿔즌다.
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.println(sb); } }
- 다 풀고 또 다른 풀이법으로 풀어보고 싶어서 BufferedWriter 를 이용해서 풀어보았다.
import java.io.IOException; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.StringTokenizer; public class num10951_3 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); 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()); bw.write(a+b +"\n"); } br.close(); bw.flush(); bw.close(); } }
참고 블로그 :
https://alpyrithm.tistory.com/204
[알고리즘][Java] 백준(BOJ) 10951 A+B - 4_자바
입출력 10951 A+B - 4 www.acmicpc.net/problem/10951 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 풀기 전 공부할 것 : 입출력, while 풀이..
alpyrithm.tistory.com
https://comain.tistory.com/195
[백준/BOJ] 10951번 : A+B - 4 (JAVA / 자바)
안녕하세요~ 코딩하는 코알못 코메인입니다. https://www.acmicpc.net/problem/10951 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net - 문제 - 난이도..
comain.tistory.com
https://velog.io/@ahn37522/백준-10951번-빠른-AB-4-JAVA
[백준] 10951번 빠른 A+B - 4 JAVA
문제※ 주의입력이 끝나는 지점이 없으므로 EOF 처리를 해야한다.📖 EOF (End Of File)데이터 소스로부터 더이상 읽을 수 있는 데이터가 없음을 나타내는 용어💻 EOF 코드 예제Scanner클래스BufferedReader
velog.io
[백준] 10951번 : A+B - 4 - JAVA [자바]
https://www.acmicpc.net/problem/10951 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 간단한 문제지만 의외로 종료시점을 몰라 틀리는 경우들..
st-lab.tistory.com
'[ DEV ] Backend > 브론즈 마스터하기' 카테고리의 다른 글
[백준] 11654번 _ 아스키 코드 (0) 2022.07.29 [백준] 15596번 _ 정수 N개의 합 (자바) (0) 2022.07.25 [백준] 10952번 _ A+B - 5 (자바) (0) 2022.07.25 [백준] 1546번 _ 평균 (BufferedReader 풀이) (0) 2022.07.24 [백준] 8958번 _ OX 퀴즈 (자바_BufferedReader) (0) 2022.07.24