SSONG Cloud

[SWEA] 5356 의석이의 세로로 말해요 본문

Algorithm/SW Expert Academy

[SWEA] 5356 의석이의 세로로 말해요

SSONGMI 2021. 2. 12. 17:20
반응형

: 주어진 여러개의 단어들을 세로로 읽은 결과를 출력해야 한다.

: 주의할 점은 주어진 단어들의 길이가 서로 다르다는 것이다.

: 각각의 단어들을 2차원 배열로 입력받는다.

: 해당 배열을 열 기준으로 순회하여 읽는다. 각각의 단어마다 길이가 다르므로

  열은 문제에서 주어진 최대 길이 15로 맞춰놓고 인덱스가 문자열의 길이보다 작을 경우에만 출력에 포함시키도록한다.

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
 
public class Solution {
    static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    static StringBuilder sb = new StringBuilder();
    static StringTokenizer st;
    public static void main(String[] args) throws NumberFormatException, IOException {
     
        int T = Integer.parseInt(br.readLine());
        for(int tc = 1; tc <= T; tc++) {
            String[][] arr = new String[5][];
 
            // 입력받기
            for(int i = 0; i < 5; i++) {
                arr[i] = br.readLine().split("");
            }
             
            sb.append("#" + tc + " "); 
             
            // j는 행을 i는 열을 담당하고 각 행당 열의 길이를 미리 알 수 없으므로 
            // 실제 j열의 길이만큼만 입력받을 수 있도록 함
            for(int i = 0; i < 15; i++) {
                for(int j = 0; j < 5; j++) {
                    if(i < arr[j].length)
                        sb.append(arr[j][i]);
                }
            }
            sb.append("\n");
             
        }
        System.out.println(sb);
    }
}
반응형
Comments