[백준 / Java] 10798번 : 세로읽기

개발자가 되고 싶어요 ㅣ 2023. 2. 27. 17:56

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

 

10798번: 세로읽기

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

www.acmicpc.net

 


◎ 문제

 

 


◎ 코드 및 풀이

 

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
32
33
34
35
36
37
import java.util.*;
 
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        // 입력 받을 이중 리스트를 생성한다.
        Character[][] wordList = new Character[5][15];
        
        // 입력 받은 값 중 가장 길이가 긴 입력값의 크기를 저장할 변수를 생성한다.
        int max = 0;
        
        // 총 5번의 입력을 받는다.
        for (int i = 0; i < 5; i++) {
            String word = sc.nextLine();
            
            // 입력 받은 값 중 가장 길이가 인 입력값의 크기를 저장해준다.
            if(max<word.length()) {
                max = word.length();
            }
            
            // 입력값을 하나씩 잘라서 저장해준다.
            for (int j = 0; j < word.length(); j++) {
                wordList[i][j] = word.charAt(j);
            }
        }
 
        // 입력 받은 값들의 길이가 다를 수 있기 때문에 null이 출력 될 수 있다. 때문에 null이 아니면 출력해준다.
        for (int i = 0; i < max; i++) {
            for (int j = 0; j < 5; j++) {
                if(wordList[j][i]!=null){
                    System.out.print(wordList[j][i]);
                }
            }
        }
    }
}
cs

 


◎ 기록

 

자바의 배열과 리스트는 자주 헷갈린다. 특히 이중리스트는 공부가 더 필요한 거 같다. 다시 한번 천천히 정리 해봐야겠다.