본문 바로가기
Algorithm/구현

백준 10798번: 세로읽기(JAVA)

by bjgu97 2021. 11. 20.
반응형

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

 

10798번: 세로읽기

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

www.acmicpc.net

 

[풀이]

입력받아 5*15 이중배열에 저장해준 후, 세로로 읽어 출력한다.

 

[코드]

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.StringTokenizer;

public class BJ_10798_세로읽기 {	
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();
	
		char[][] arr = new char[5][15];

		for(int i = 0; i < 5; i++) {
			String s = br.readLine();
			
			for(int j = 0; j < s.length(); j++) {
				arr[i][j] = s.charAt(j);
			}
		}
        
		for(int i = 0; i < 15; i++) {
			for(int j = 0; j < 5; j++) {
				if(arr[j][i] != '\0')
					sb.append(arr[j][i]);
			}
		}
        
		System.out.println(sb);
	}
}

**주의점**

if(arr[j][i] != ' ') 하면 틀린다.

NULL이 아닐 때를 표현하고 싶다면 if(arr[j][i] != '\0')

 

댓글