[백준] 10951번 : A+B - 4 (3단계) (C++)

2024. 1. 11. 10:00· 프로그래밍/코딩 테스트 연습

https://www.acmicpc.net/problem/10951

 

10951번: A+B - 4

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 


 

문제

 

 

 

 

해석

 

반복문으로 해결하는 문제라는 건 알지만 입력의 종료를 어떻게 처리해야 할지 애매한 문제입니다.

 

출력의 종료 혹은 파일 입력의 종료를 알리는 EOF를 조건으로 풀어야 합니다.

 

 

 

 

 

 

 

풀이

 

입력의 종료가 없다고 해서 다음과 같이 무한루프로 코드를 작성하고 제출하면 "출력 오류"로 틀리게 됩니다.

 

#include<iostream>
using namespace std;

int main() {
	int x,y;
	
	while (1) {
		cin >> x >> y;
		cout << x + y << endl;
	}
}

 

여기서 파일 입출력이라는 개념을 떠올리면 문제를 풀기  쉬워질겁니다.

 

백준 같은 사이트의 문제들을 검사할 때 파일을 코드가 읽는 방식으로 채점하기 때문에 백준 사이트에서 제공하는 테스트 케이스는 파일 형태로 코드를 검사할 것입니다.

 

즉, 테스트 케이스에 대한 입력의 종료는 파일의 끝 EOF가 존재할 것입니다. 때문에 EOF가 입력된다면 반복을 종료시키는 코드를 작성하면 됩니다.

 

텍스트 I/O 항목을 참고해 주세요 : https://whitecode2718.tistory.com/27

 

[C++] 12장. #2 파일 모드

파일 모드 파일 모드란 파일을 열 때 앞으로 어떤 파일 입출력을 수행할 것인지에 대한 정보입니다. 읽기 위해 파일을 여는지 쓰기 위함 인지 파일 크기를 어떻게 할지에 대한 정보 등이 있습니

whitecode2718.tistory.com

 

최종적인 코드는 다음과 같습니다.

 

#include<iostream>
using namespace std;

int main() {
	int x,y;
	
	while (1) {
		cin >> x >> y;
		if (cin.eof())
			break;
		cout << x + y << endl;
	}
}

 

cin이 파일의 끝 EOF (직접 입력시키는 코드는 ctrl + z입니다.)를  입력받으면 무한루프가 종료됩니다.

 

 


 

정리

 

아무것도 입력을 받지 않을 때 루프를 종료시키는 아이디어를 학습할 수 있는 문제입니다.

 

또한 파일의 끝이 EOF인 점을 이용해 반복문을 종료시키는 코드를 다시 한번 상기시킬 수 있었습니다.

 

 

 

 

'프로그래밍 > 코딩 테스트 연습' 카테고리의 다른 글

[백준] 2557번 : Hello World (1단계) (Python)  (0) 2024.02.05
[백준] 10807번 : 개수 세기 (4단계) (C++)  (0) 2024.01.12
[백준] 10952번 : A+B - 5 (3단계) (C++)  (0) 2024.01.11
[백준] 2438번 : 별 찍기 - 1 (3단계) (C++)  (0) 2024.01.11
[백준] 2439번 : 별 찍기 - 2 (3단계) (C++)  (1) 2024.01.11
'프로그래밍/코딩 테스트 연습' 카테고리의 다른 글
  • [백준] 2557번 : Hello World (1단계) (Python)
  • [백준] 10807번 : 개수 세기 (4단계) (C++)
  • [백준] 10952번 : A+B - 5 (3단계) (C++)
  • [백준] 2438번 : 별 찍기 - 1 (3단계) (C++)
w_w
w_w
데이터 사이언스가 목표인 학생입니다. / 공부한 내용을 간단히 정리하는 블로그입니다. / 비공개 게시글은 저작권 보호를 위해 개인 소장 용도로만 사용합니다.
w_w
공부용
w_w
전체
오늘
어제
  • 전체 글 (78)
    • 대표글 (4)
    • 프로그래밍 (71)
      • C++ (8)
      • Python (1)
      • 알고리즘 (1)
      • 코딩 테스트 연습 (61)
      • 게임 (0)
    • 데이터베이스 (0)
      • 데이터 분석 및 시각화 (0)
      • 머신 러닝 (0)
    • 공학 (2)
      • 수학 기본 개념 (2)
    • 정보 (1)
      • AICE (1)
      • Excel (0)
      • Access (0)
      • kaggle (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 데이터 시각화
  • 데이터 연산
  • python
  • 프로그래밍 언어
  • 바이너리I/O
  • 데이터 분석 패키지
  • 머신 러닝
  • 그래프 저장하기
  • 텍스트I/O
  • 머신러닝
  • Matplotlib
  • 백준
  • 바이너리 파일
  • K-평균 군집화
  • 연산자 중복
  • c++
  • 그래프 꾸미기
  • 객체
  • 엑셀 파일 통합
  • Excel
  • K-최근접 이웃
  • 자료구조
  • 클래스
  • 데이터 분석
  • 알고리즘
  • C언어 링킹
  • pandas
  • 연산자
  • IT
  • 연결 리스트

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
w_w
[백준] 10951번 : A+B - 4 (3단계) (C++)
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.