본문 바로가기

Algorithm/[BOJ] - JAVA

[백준] 10789 : 세로읽기 Java

 

 

import java.io.*;
public class Main {
	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        
        // 5개의 String을 char배열로 변환해 저장할 것임
		char [][] arr = new char[5][];
		
        // 5개의 문자열 중 가장 긴 길이를 저장할 변수를 생성함
		int max_len = Integer.MIN_VALUE;
		
        // 5개의 문자열을 입력받고 1차원 char배열로 변환해 저장
		for(int i=0;i<5;i++) {
			arr[i] = (br.readLine()).toCharArray();
			
			if(max_len<arr[i].length) {
				max_len = arr[i].length;
			}
		}
		
        // 출력을 위한 스트링빌더 선언 및 생성 
		StringBuilder sb = new StringBuilder();
		
        // 세로읽기니까 열(읽을 문자열의 길이)을 고정하고 행을 1씩 증가시킴
		for(int j=0;j<max_len;j++) {
			for(int i=0;i<5;i++) {
            // 읽을 문자가 아직 남아있을 때만 sb에 추가함
				if(arr[i].length>j) {
					sb.append(arr[i][j]);
				}
			}
		}
		System.out.println(sb);
	}
}