코딩테스트/알고리즘..을 하고 싶었던

[JAVA] 백준10798: 세로읽기

여파고 2024. 8. 8. 16:45

 

어렵진 않다. 나는 허접이라 조금 헤맸지만.

하나의 문자로 이루어진 2차원 배열을 만들어서 (0,0), (1,0), (2,0), (3,0), (4,0) ....... (5,15) 까지의 순서로 출력하면 되는 문제이다.

하나의 문자로 이루어진 배열이기 때문에 int나 String이 아닌 char로 배열을 만들었다.

 

2중 포문을 이용해서 평범하게 2차원 배열을 만들면 되고

출력할 때는 배열[i][j] 가 아니라 [j][i] 로 출력하면 되는 문제이다.

문제는 공란일때는 출력안하고 그냥 넘어가야 하는건데,

int 배열은 초기값이 0, String 배열은 초기값이 null, char 배열은 초기값이 '0' 이라는걸 배워서 그렇게 조건문을 지어서 해결했다.

 

처음에는 그걸 몰라서 if(배열[j][i] == 0) 요렇게 했다가 안되가지고 찾아보니 그렇더라. ㅋㅋ.. 

 

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        char[][] board = new char[5][15];
        for (int i = 0; i < 5; i++) {
            String str = sc.next();
            for (int j = 0; j < str.length(); j++) {
                board[i][j] = str.charAt(j);

            }
        }
        for(int i=0; i<15; i++) {
            for(int j=0; j<5; j++) {
                if(board[j][i] == '\0')
                    continue;
                System.out.print(board[j][i]);
            }
        }
        sc.close();

    }
}

 

 

반응형