Algorithm/기타
[백준 10798번] 세로읽기
agility
2019. 12. 30. 22:35
백준알고리즘 10798번 : 세로읽기
나오는 5문장을 세로로 출력하는 문제이다.
배열을 5개 만들고 난 뒤, 각 String 값을 split한 배열을 집어넣는다.
그리고 각 배열을 2중 for문을 돌려 세로로 출력한다!
길이를 어떻게 지정해주어야 하나, 고민했는데 문제를 풀어보고나니
split한 string 값들을 배열에 담고나니, 자동으로 배열의 길이가 split한 갯수만큼으로 맞춰진다는 것을 알수있었다.
풀이 과정
1. 이중 배열을 5개 선언한다. 선언 시 각 배열의 row 길이는 상관없다.
2. String 값을 받아, split하여 각 배열에 순차적으로 담는다.
3. 2중 for문을 통해 각 배열들의 row값들을 순서대로 받아온다.
소스 ▽
더보기
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String arr[][] = new String[5][0];
for (int i = 0; i < 5; i++) {
arr[i] = sc.nextLine().split("");
}//string을 split한 값을 배열에 집어넣게 되면, 배열의 길이가 초기화된다.
for (int i = 0; i < 15; i++) {
for (int j = 0; j < 5; j++) {
if (i < arr[j].length) {//배열의 길이를 넘기전까지만 출력을 반복한다.
System.out.print(arr[j][i]);
}
}
}
}
}
Summary
문자열을 Split한 배열은 길이가 fix되기 때문에, 이미 만들어 놓은 배열에 담아도 길이가 맞춰진다.