BAEKJOON 10798번: 세로읽기

Kim Hyen Su·2023년 6월 18일
0

⏲️ 알고리즘

목록 보기
14/95

10798번 문제

문제

입력

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

출력

영석이가 세로로 읽은 순서대로 글자들을 출력한다. 이때, 글자들을 공백
없이 연속해서 출력한다. 

🗝️ 포인트

  1. 행(가로) 5줄, 열(세로) 15줄의 char 타입의 2차원 배열 선언.
  2. 한 행의 문자열의 길이가 최소 1부터 15까지로 다양함.
  3. 세로로 읽으므로, 행과 열을 바꿔서 출력해준다.
  4. 값이 '\0'인 경우 넘어가도록 조건문 작성.
    \0은 char 배열의 초기 값이다.

제출 답안

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
public class Main {
	public static void main(String[] args) throws IOException {
    
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

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

		int max = 0; 

		for(int i=0; i < arr.length; i++){
			String str = br.readLine();
			max = max < str.length() ? str.length() : max;
			
			for(int j=0; j < str.length(); j++){
				arr[i][j] = str.charAt(j);
			}
		}

		StringBuilder sb = new StringBuilder();
		for(int i=0; i < max; i++){
			for(int j=0; j <arr.length; j++){
				char ch = arr[j][i];
				if(ch != '\0') {sb.append(ch);}
			}
		}
		
		System.out.println(sb);
		br.close();
	}
}

참고 포스팅!

profile
백엔드 서버 엔지니어

0개의 댓글