PS&알고리즘

[BoJ][C/C++] 11718 그대로 출력하기

200scs 2024. 6. 9. 15:27

시간 제한메모리 제한제출정답맞힌 사람정답 비율

1 초 256 MB 246537 77352 64457 33.920%

문제

입력 받은 대로 출력하는 프로그램을 작성하시오.

입력

입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시작하지 않고, 공백으로 끝나지 않는다.

출력

입력받은 그대로 출력한다.

예제 입력 1 복사

Hello
Baekjoon
Online Judge

예제 출력 1 복사

Hello
Baekjoon
Online Judge

출처

알고리즘 분류


내 코드

#include <bits/stdc++.h>

using namespace std;

int main() {
    // DECLARE: 최대 입력 줄 수와 길이
    const int MAX_LINES = 100;
    const int MAX_LENGTH = 100;

    vector<string> lines;
    string input;

    for (int i = 0; i < MAX_LINES; ++i) {
        getline(cin, input);

        if (input.empty()) {
            break; // 입력이 빈 줄일 경우 루프를 종료
        }

        if (input.length() > MAX_LENGTH) {
            input = input.substr(0, MAX_LENGTH); // 입력이 100자를 넘으면 자름
        }

        lines.push_back(input);
    }

    for (const auto &line: lines) { // &로 요소를 직접 참조하여 vector가 복사되는 메모리 낭비를 줄일 수 있음
        cout << line << '\n';
    }

    return 0;
}