10798
문제
접근
- 가로 읽기는 최소 1개 최대 15개의 글자들이 빈칸 없이 연속적으로 주어진다.
-> 5개의 문자열의 길이가 서로 같거나 다름
- 읽어내려갈 때 비어있거나 없는 문자를 처리해야한다.
-> 문자열을 반복할 때 분기로 처리한다.
가정
- 자료구조는 문자열 배열로 충분할 것
- 중첩 반복문으로 진행해도 시간 복잡도에서 걸리지 않을 것
풀어보기
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
static String[] s;
static int N = 5;
static int MaximumStringLength = 0;
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
s = new String[N];
for(int i = 0; i < N; i++){
s[i] = reader.readLine();
if(s[i].length() > MaximumStringLength){
MaximumStringLength = s[i].length();
}
}
for(int i = 0; i<=MaximumStringLength; i++){
for(int j = 0; j < N; j++){
if(s[j].length() > i) {
System.out.print(s[j].charAt(i));
}
}
}
}
}
시행착오들.
- BufferedReader의 사용법을 잊어버려 다시 사용하는 방법을 찾아보았다.
- 중첩 반복문을 사용하할때 외부 반복문 조건 처리하는 구문을 잘 못 작성하여 값을 모두 가져 오지 않는 에러가 있었다.
BufferedReader 란?
BufferedReader 와 Scanner, BufferedWriter