일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- Docker
- 도커
- ETRI
- express.js
- 골드3
- 정보처리기사
- 스프링 부트
- 배포
- 카카오테크 부트캠프
- aws
- DFS
- 프로그래머스
- 자료구조
- 한국전자통신연구원
- 엘라스틱빈스톡
- 카테부
- 디자인패턴
- 백준 알고리즘
- 골드5
- 정처기
- Express
- 대전
- 자바
- 코딩테스트 고득점 kit
- 알고리즘
- EC2
- 골드4
- BFS
- 인스턴스
- DP
Archives
JUINTINATION
백준 10951번: A + B - 4 본문
반응형
문제
https://www.acmicpc.net/problem/10951
10951번: A+B - 4
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
www.acmicpc.net
풀이
입력에 더 이상 읽을 수 있는 데이터가 없을 때까지(EOF) 두 수를 입력받아 더한 값을 출력합니다.
EOF는 End Of File의 줄임말로 파일의 끝을 의미합니다. Ctrl + z 혹은 Ctrl + c 등을 입력하는 방식으로 프로그램을 종료합니다.
코드
C언어
while문 안에서 x와 y를 scanf 함수를 이용하여 EOF가 아니면 x + y의 값을 출력하고 EOF면 while문을 종료합니다.
#include <stdio.h>
main() {
int x, y;
while (scanf("%d %d", &x, &y) != EOF) {
printf("%d\n", x + y);
}
}
자바
위의 C언어 코드처럼 입력이 들어올 때마다 출력해 줄 수도 있지만 모든 입력이 끝난 후에 마지막에 출력하기 위해 Stringbuilder를 이용합니다.
import java.io.IOException;
import java.io.BufferedReader;
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));
String str = null;
StringBuilder sb = new StringBuilder();
while ((str = br.readLine()) != null) {
StringTokenizer st = new StringTokenizer(str, " ");
int x = Integer.parseInt(st.nextToken());
int y = Integer.parseInt(st.nextToken());
sb.append(x + y).append("\n");
}
System.out.print(sb);
}
}
결론
프로그램의 종료 조건이 없는 이러한 문제의 경우에도 위와 같은 방식 등을 이용하여 해결할 수 있게 되었습니다.
반응형
Comments