슬기로운 개발생활

[백준] 10798번 세로읽기 자바(Java)

by coco3o
반응형

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

10798번: 세로읽기

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

www.acmicpc.net


정답 코드

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[][] ch = new char[5][15];
        int max = 0;
        
        for (int i = 0; i < ch.length; i++) {
            String str = br.readLine();
            if(max < str.length()) max = str.length();
            
            for (int j = 0; j < str.length(); j++) {
                ch[i][j] = str.charAt(j);
            }
        }
        
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < max; i++) {
            for (int j = 0; j < 5; j++) {
                if(ch[j][i] == '\0') continue;
                sb.append(ch[j][i]);
            }
        }
        System.out.println(sb);
    }
}

설명

1. 세로 5 가로 15줄이 주어진다. == 2차원 배열을 선언한다.
2. 각 줄마다 문자열을 입력받고 최대 길이를 max 변수에 저장한다.
3. 입력받은 문자열을 char 2차원 배열에 담는다.
4. 세로로 읽으므로 열과 행으로 출력하고, 값이 '\0'인 경우 넘어간다.

※char 배열의 초기 값은 '\0' 이다.

반응형

블로그의 정보

슬기로운 개발생활

coco3o

활동하기