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;
}
'코딩테스트 > 백준' 카테고리의 다른 글
[백준][C++]1316번. 그룹 단어 체커 (0) | 2025.03.07 |
---|---|
[백준][C++]1157번. 단어 공부 (0) | 2025.03.07 |
[백준][C++]11718번. 그대로 출력 (0) | 2025.03.06 |
[백준][C++]5622번. 다이얼 (0) | 2025.03.06 |
[백준][C++]2675번. 문자열 반복 (0) | 2025.03.06 |