티스토리 뷰

문제 : 가로 문자열로 입력받은 데이터를 세로로 읽기


 

입력데이터

 

  문자열(Max = 15, Min = 1)
1번째 줄 AABCDD
2번째 줄 afzz
3번째 줄 09121
4번째 줄 a8EWg6
5번째 줄 P5h3kx

 

 

 

출력데이터

 

Aa0aPAf985Bz1EhCz2W3D1gkD6x

 

 

 

주의할 점
각 줄마다 문자열 길이가 다름으로, 빈 글자가 있을 경우 다음번째 줄의 해당 위치 글자 값을 출력해야함!

Ex. 상기 예시 입력데이터를 참고하여, 아래와 같이 출력되어야함
첫번째 : AABCD
두번째 : afzz
세번째 : 09121
출력 : Aa0..Af9..Bz1..Cz2..D1..D

 

 


 

 

 

 

 

package org.example.이차원배열;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class 세로읽기 {

    public static void main(String[] args) throws IOException {

        // 문자열 입력받기위한 BufferedReader 인스턴스 생성
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));


        // 이차원배열 선언
        char[][] arrys = new char[5][15];

        for (int i = 0; i < 5; i++) {

            // 한 줄을 읽어들여 문자열 s로 정의
            String s = br.readLine();

            //입력받은 문자열 길이까지 for문 돌도록
            for (int j = 0; j < s.length(); j++) {

                // 문자열을 charAt을 이용해 한 글자씩 배열에 담기
                arrys[i][j] = s.charAt(j);
            }

        }

        // 출력할 StringBuilder 인스턴스 생성
        StringBuilder sb = new StringBuilder();

        for (int i = 0; i < 15; i++) {

            for (int j = 0; j < 5; j++) {

                // char 이차원 배열이 '0'이 아니라면(배열에 값을 넣은 경우)
                if (arrys[j][i] != 0) {

                    // StringBuilder에 문자열 한개씩 저장
                    sb.append(arrys[j][i]);

                    // 이차원 배열이 '0'으로 비였을 경우 아무것도 하지 않고 Continue
                }else {
                    continue;
                }

            }
        }


        // 저장한 StringBuilder 출력!
        System.out.println(sb.toString());



    }
}

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함