간단한 구현 문제로, 2D 문자 배열을 만들어서 값을 저장 후 세로로 출력하면 된다. 만약 로직이 같은데 틀렸다면 정수 배열 초기화 하듯이 문자열도 초기화가 필요하기 때문에 NULL로 초기화를 꼭 해주도록 하자
#include <bits/stdc++.h>
using namespace std;
int main(){
char A[5][15]={'\0'}; // NULL로 문자 2d배열 초기화
int i,j;
for(i=0;i<5;i++) // 문자열을 아래와 같이 한번에 받을 수 있다.
scanf("%s",A[i]); // 다만 문자열 길이가 문제와 같이 주어진 경우
for(j=0;j<15;j++)
for(i=0;i<5;i++)
A[i][j]? printf("%c",A[i][j]):0;
// 삼항연산자를 통해 값이 있으면 출력 없으면 넘어감
}
로직은 같으나 1바이트라도 줄이기 위한 강한 의지가 엿보인다고 할 수 있겠다.
// 가독성을 위해 본래의 코드를 tab으로 구분하였다.
#import<ios>
char A[5][15],x; // 숏코딩의 정석인 전역변수로 선언하여 초기화를 따로 하지 않았다.
int i,j;
main(){
while(scanf("%s",A[i++])>0); // while문으로 한번에 입력 받고
for(;j<15;j++) // 이중 for문으로 출력하는 로직
for(i=0;i<5;i++)
(x=A[i][j])?printf("%c",x):0;}