본문 바로가기
알고리즘/백준

백준 10798번 세로읽기 [C++]

by seongjun 2023. 11. 25.

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

 

10798번: 세로읽기

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

www.acmicpc.net

 

주어진 문장들을 세로로 읽어서 출력하는 문제이다.

#include <iostream>
#include <string>

using namespace std;

int main(){
    string arr[5];
    for (int i=0;i<5;i++){
        cin >> arr[i];
    }
    while (true){
        int empty = 0;
        for (int i=0;i<5;i++){
            if(arr[i].empty()){
                empty += 1;
                continue;
            }
                
            cout << arr[i][0];
            arr[i].erase(0,1);
        }
        if (empty == 5)
            break;
    }
}

입력으로 받은 다섯 개의 문장을 계속 순회하면서, 앞 글자를 출력하고 지우고를 반복한다. 모든 문자를 지워 모든 문자열이 empty라면 끝.