2022. 3. 14. 19:04ㆍPS (Program Solving)/BOJ (백준)
문제 설명
https://www.acmicpc.net/problem/11718
11718번: 그대로 출력하기
입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시
www.acmicpc.net
접근 방법 - 무한 반복문의 심화 문제
백준의 11718번 문제는 무한 반복문에 있어 다소 심화된 문제이다.
해당 문제는, 문자열이 하나씩 입력될 때마다 그대로 출력해야 하는 문제이다.
이 문제와 유사한 문제에 대하여 필자가 이전에 작성한 글이 있다. 아래의 링크를 참고해보길 바란다.
https://smary-it.tistory.com/84
[백준 BOJ] 10951번 A+B - 4 (C언어)
문제 설명 https://www.acmicpc.net/problem/10951 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 접근 방법 - 심화된 반복문 응용문제 백준의 10951..
smary-it.tistory.com
다만 위 문제에선 C언어로 작성하여 문제를 해결하였다면, 이번엔 C++로 문제를 해결해보고자 한다.
if (cin.eof() == true) { break; }
필자는 해당 문제를 해결할 시 위 구문을 응용하였는데, 이는 "EOF를 입력받았을 시, 즉 입력값이 없다면 break문을 실행한다."라는 뜻이다.
여기서, 입력값들 중 공백을 포함한 문자열도 존재하기 때문에, 입력을 받을 시엔 getline()을 활용하도록 하자.
필자는 아래처럼 코드를 작성하여 문제를 해결하였다.
성공한 코드
#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable: 4996)
#include <iostream>
#include <string>
#define endl '\n'
using namespace std;
//백준 11718번 코드
int main() {
while (1) {
string st;
getline(cin, st);
if (cin.eof() == true) { break; }
cout << st << endl;
}
}
제출 결과
(2022.02.26 백준 11718번 문제 제출 결과)
'PS (Program Solving) > BOJ (백준)' 카테고리의 다른 글
[백준 BOJ] 10987번 모음의 개수 (C++/cpp) (0) | 2022.03.19 |
---|---|
[백준 BOJ] 2751번 수 정렬하기 2 (C++/cpp) (1) | 2022.03.19 |
[백준 BOJ] 23881번 알고리즘 수업 - 선택 정렬 1 (C++/cpp) (0) | 2022.03.14 |
[백준 BOJ] 1547번 공 (C++/cpp) (0) | 2022.03.14 |
[백준 BOJ] 2743번 단어 길이 재기 (C++/cpp) (0) | 2022.03.06 |