Algorithm/BOJ(Baekjoon Online Judge)

[백준 - 10798번] 세로읽기 - Java //Wello Horld//

koucop 2019. 12. 13. 15:29

이번에는 BOJ의 10798번 문제 "세로읽기" 를 풀어보도록 하자

 

입력으로 다섯줄의 입력이 주어진다. 입력에는 빈칸은 없다.

출력으로 세로로 읽은 순서대로 글자들을 출력하면 된다.

각줄의 길이값을 비교해서 다섯줄의 길이중 최대값을 구하면, 쉽게 풀 수 있는 문제이다.

 

성공한 코드는 아래와 같다.

import java.io.*;
import java.util.*;

public class sample {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        String[] input = new String[5];
        int max = 0;
        for (int i = 0; i < 5; i++) {
            input[i] = br.readLine();
            max = Math.max(max, input[i].length());
        }
        String ans = "";
        for (int i = 0; i < max; i++) {
            for (int j = 0; j < 5; j++) {
                if (input[j].length() > i)
                    ans += input[j].charAt(i);
            }
        }
        bw.write(ans + "\n");

        bw.flush();
        br.close();
        bw.close();
    }
}

 

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

 

10798번: 세로읽기

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

www.acmicpc.net

 

혹시 코드에 이상한 부분이나 틀린 부분이 있던지, 이해가 안가는 부분이 있다면 댓글로 알려주세요.