알고리즘/백준
[백준] 10952 - A + B-5
leegeonwoo
2023. 10. 20. 23:14
• 문제
A+B를 해주는 문제이다.
이번 문제는 테스트케이스를 받는 것이아니라
두 개의 값에 모두 0이들어오면 출력하고 프로그램을 종료하는 프로그램이다.
• 풀이
이번문제에서는 입출력을 BufferedReader, BufferdWriter를 이용하여 풀 것이다.
먼저 프로그램이 종료되는 조건을 살펴보면
A와 B모두 0이 입력되었을때이므로
if(A == 0 && B == 0)
A가 0이고, B도 0이면 이라는 코드이다.
위 코드가 들어왔을 경우 BufferdWriter를 사용할 예정이므로 bw.flush를 해주고 반복문을 빠져나오면 된다.
이렇게 반복문의 정해진 종료시점이 없을때는 while문을 사용하는 것이 좋다.
이제 전체코드를 살펴보자
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
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));
while(true) {
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int A = Integer.parseInt(st.nextToken());
int B = Integer.parseInt(st.nextToken());
if(A == 0 && B == 0) {
bw.flush();
break;
}
bw.write(A+B + "\n");
}
bw.close();
}
}
while(true)로 하면 무한반복을 할 수 있고 if문에서 A와 B에 0이 들어오면 break로 반복문을 빠져나올 수 있다.
write()메서드를 사용할 때 "\n"개행을 넣어줘야 옳바르게 출력되니 주의하도록하자
•마무리
write()메서드를 사용할 때 왜 개행을 넣어주지않으면 출력이 안되는지 알아보면 좋을 것 같다.
728x90