10798번 문제
문제
입력
총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’,
영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’부터 ‘9’ 중 하나이다. 각 줄의 시작과 마지막에 빈칸은 없다.
출력
영석이가 세로로 읽은 순서대로 글자들을 출력한다. 이때, 글자들을 공백
없이 연속해서 출력한다.
🗝️ 포인트
- 행(가로) 5줄, 열(세로) 15줄의 char 타입의 2차원 배열 선언.
- 한 행의 문자열의 길이가 최소 1부터 15까지로 다양함.
- 세로로 읽으므로, 행과 열을 바꿔서 출력해준다.
- 값이 '\0'인 경우 넘어가도록 조건문 작성.
※ \0은 char 배열의 초기 값이다.
제출 답안
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
char [][] arr = new char[5][15];
int max = 0;
for(int i=0; i < arr.length; i++){
String str = br.readLine();
max = max < str.length() ? str.length() : max;
for(int j=0; j < str.length(); j++){
arr[i][j] = str.charAt(j);
}
}
StringBuilder sb = new StringBuilder();
for(int i=0; i < max; i++){
for(int j=0; j <arr.length; j++){
char ch = arr[j][i];
if(ch != '\0') {sb.append(ch);}
}
}
System.out.println(sb);
br.close();
}
}
참고 포스팅!