728x90
https://psmkr0225.tistory.com/41
문제
입력 받은 대로 출력하는 프로그램을 작성하시오.
입력
입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시작하지 않고, 공백으로 끝나지 않는다.
출력
입력받은 그대로 출력한다.
예제 입력 1
Hello
Baekjoon
Online Judge
예제 출력 1
Hello
Baekjoon
Online Judge
쉬운 문제지만 입출력 방법을 정확히 알아야 풀 수 있는 문제다.
그냥 cin을 써서 입력받고 cout으로 출력하면 공백이 빠진 채로 출력된다.
1. getline 함수를 사용하면 띄어쓰기까지 입력받아 한줄을 그대로 출력할 수 있다.
2. 입력이 끝나면 종료될 수 있도록 루프탈출을 고려해야 한다.
3. 출력하고 다음줄로 넘어가도록 endl 처리를 해줘야 한다.
#include <string>
#include <iostream>
using namespace std;
int main() {
string str;
while(1) {
getline(cin, str);
//빈 줄이 입력되면 종료
if (str == "") break;
cout << str << endl;
}
return 0;
}
+) 11719를 풀고 오니 다른 방식으로 루프를 탈출시키는 방법이 있었다.
cin 의 EOF를 만나면 탈출하게끔 작성하는 것도 가능하다.
#include <string>
#include <iostream>
using namespace std;
int main() {
string str;
while (getline(cin, str)) {
cout << str << endl;
}
return 0;
}
'[C_C++]코딩테스트 연습 > [백준] 일반 문제' 카테고리의 다른 글
[백준] 삼성 SW 역량 테스트 기출 - 2048 (Easy) (C언어) (0) | 2022.07.20 |
---|---|
[백준] 삼성 SW 역량 테스트 기출 - 구슬탈출2 (C언어) (0) | 2022.07.19 |
[백준] 11721 열 개씩 끊어 출력하기 - C++ 입출력 (0) | 2022.01.22 |
[백준] 11720 숫자의 합 - C++ 입출력 (0) | 2022.01.22 |
[백준] 11719 그대로 출력하기 2 - C++ 입출력 (0) | 2022.01.22 |