[Java] 백준 10798번: 세로읽기

U·2023년 3월 12일

백준

목록 보기
22/116

💻 문제


일단 이해하자🤔

  • 문제의 설명이 매우 구구절절인데🤨 요약하자면 한 마디로 2차원 배열 문자열을 받고 그 배열을 세로로 한 열씩 읽으라는 말이다. 이때 그 값이 비어있으면 건너뛰고 다음 행의 같은 열의 값을 출력하면 된다. 다만 다섯줄을 입력 받는다고 나와있지만 입력 받을 문자의 길이는 1부터 15까지로 정해져있지 않다.
  • 그래서 char형 배열 arr[5][15]을 선언하고 charAt을 이용해서 한 자씩 배열에 넣고 for문으로 세로로 출력했다. 이때, 열의 크기를 15로 선언했으므로 값이 없는 열은 arr[i][j] == 0null인지 체크해주고 출력해줬다.

👀 풀이

import java.io.*;

public class Main {
    public static void main(String[] rgs) throws IOException {
        BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bfw = new BufferedWriter(new OutputStreamWriter(System.out));

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

        for (int i = 0; i < 5; i++) {
            String str = bfr.readLine();
            for (int j = 0; j < str.length(); j++) {
                arr[i][j] = str.charAt(j);
            }
        }

        for (int j = 0; j < arr[0].length; j++) {
            for (int i = 0; i < 5; i++) {
                if (arr[i][j] == 0) {
                    continue;
                }
                bfw.write(String.valueOf(arr[i][j]));
            }
        }

        bfr.close();
        bfw.flush();
        bfw.close();
    }
}

아쉬웠던 점••

  • 열의 길이가 정해져있지 않은 2차원 배열을 입력받는데서 헤맸다😅 생각보다 간단했던 문제였던걸로!
profile
백엔드 개발자 연습생

0개의 댓글