[C++] 백준 #11718 : 그대로 출력하기
문제 설명
입력 받은 대로 출력하는 프로그램을 작성하시오.
입력
입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시작하지 않고, 공백으로 끝나지 않는다.
출력
입력받은 그대로 출력한다.
피드백
특정한 알고리즘이 없는 문제이다. 바로 피드백으로 넘어가겠다.
문제만 보면 굉장히 쉬워보이지만, 입력 종료 조건이 주어지지 않아 헷갈렸던 문제이다.
EOF 처리에 대해 배울 수 있던 문제이다.
그동안 문제를 풀 땐 무지성(?) cin으로 받아 cout으로 출력했지만,
이와 같이 EOF가 따로 주어지지 않는 문제는 직접 조건문을 이용해 EOF처리를 해주어야 한다.
다양한 방법이 있지만 나는 아래와 같이 처리했다.
getline(cin, input);
if (input == "")
return 0;
한 줄씩 입력을 cin(키보드 입력)으로 받아 그 내용을 string 형태의 변수인 input에 저장한다. 그리고 input의 값이 없다면, EOF라고 판단하고 프로그램을 그대로 종료하도록 했다. 전체 소스코드는 아래와 같다.
소스코드
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
string input;
while (1)
{
getline(cin, input);
if (input == "")
return 0;
cout << input << "\n";
}
return 0;
}
Author And Source
이 문제에 관하여([C++] 백준 #11718 : 그대로 출력하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@josuncom/C-백준-11718-그대로-출력하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)