5줄의 문자들을 입력받아야하는데 이때 한줄에 문자는 15개가 최대로 올 수 있다. 빈칸없이 연속으로 주어져서 어떻게 풀어야할지 고민을 했는데 생각해보면 문자열로 배열처럼 접근할 수 있기 때문에 한줄씩 받은 다음 접근을 세로로 하면 된다.

 

정답코드

#include <iostream>
#include <vector>
#include <string>

using namespace std;

int main()
{
    vector<string> v(5, ""); // 5줄의 문자열 벡터 생성

    // 입력 받기
    for (int i = 0; i < 5; i++)
    {
        getline(cin, v[i]); // 한 줄씩 입력받아 벡터에 저장
    }

    // 세로로 읽어서 출력
    for (int i = 0; i < 15; i++) // 최대 15개의 열
    {
        for (int j = 0; j < 5; j++) // 5개의 행
        {
            if (i < v[j].size()) // 현재 행의 i번째 문자가 존재하면 출력
            {
                cout << v[j][i];
            }
        }
    }

    return 0;
}

+ Recent posts