문제
https://www.acmicpc.net/problem/10798
10798번: 세로읽기
총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’
www.acmicpc.net

풀이
풀이 출처
https://dev-coco.tistory.com/156
[백준] 10798번 세로읽기 자바(Java)
https://www.acmicpc.net/problem/10798 10798번: 세로읽기 총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘
dev-coco.tistory.com
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[][] sa = new char[5][15];
int max = 0;
for (int i = 0; i < sa.length; i++) {
String s = br.readLine();
if(max<s.length()) max = s.length();
for (int j = 0; j < s.length(); j++) {
sa[i][j] = s.charAt(j);
}
}
StringBuilder sb = new StringBuilder();
for (int i = 0; i < max; i++) {
for (int j = 0; j < 5; j++) {
if(sa[j][i] == '\0') continue;
sb.append(sa[j][i]);
}
}
System.out.println(sb);
}
}
새롭게 알게 되었거나 까먹고 있엇던 것
- max 변수를 이용해서 문자열의 최대길이를 넣어서 가장 긴 문자열을 구한 것.
- char[] 배열의 기본값이
‘\0’
인 것 - for문 안에서
continue
를 이용해서 다음번 루프로 넘어갈 수 있다는 것.
반응형