본문 바로가기
코딩테스트/[백준]단계별로풀어보기(C++)

[백준][2차원배열] 10798번 : 세로 읽기 (C++)

by 오리로스 2024. 3. 17.

https://www.acmicpc.net/problem/10798

 

10798번: 세로읽기

총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’

www.acmicpc.net

 

#include <iostream>
#include <vector>
using namespace std;
int main() {
    vector<string> vec(5," ");
    for(int i{0};i<5;++i)
        cin >> vec[i];
    for(int j{0}; j<15;j++)
     for(int i{0};i<5;++i)
        if(vec[i].length() > j) cout<<vec[i][j];
    return 0;
}

" "  로 초기화 된 벡터를 선언해준다. 공백이 없으므로 string으로 통째로 읽어주고 출력할때만 행, 렬 인덱스를 바꾸어 출력해주면 된다. j가 각 행의 길이보다 작을경우에만 출력하면 행마다 문자열 길이가 다른 문제는 해결된다!