[백준] 10798번 세로읽기 Java 문제 풀이

2023. 3. 17. 18:01알고리즘/백준

728x90
반응형

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;

interface Main {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        StringTokenizer st;

       char[][] result = new char[5][15];

       for(int i=0; i<5; i++) {
           result[i] = br.readLine().toCharArray();
       }
       for(int i=0; i<15; i++) {
           for(int j=0; j<5; j++) {
                if(result[j].length > i) {
                    sb.append(result[j][i]);
                }
           }
       }
       System.out.println(sb);
    }
}

문제를 보니 가로 길이 15, 세로 길이 5로 고정입니다.

한 줄씩 입력받을 때 문자형 배열로 5줄 입력받습니다.

 

배열을 세로로 순회하도록 for 문을 작성합니다.

유의할 점은 무조건 15자 꽉 채워서 입력을 받지 않으므로 중간에 배열을 조회했을 때 ArrayIndexOutOfBoundsException이 발생할 수 있습니다.

 

그러므로 매번 각 행의 길이가 순회하는 인덱스보다 큰지 확인해야 합니다.

 

 

 

 

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

 

10798번: 세로읽기

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

www.acmicpc.net

 

728x90
반응형