728x90


import java.util.Scanner;
public class Main{
public static void main(String[] args) throws Exception {
Scanner sc = new Scanner(System.in);
String str;
char[][] arr = new char[5][15];
for(int i =0; i<5; i++){
str = sc.next();
for(int j =0; j< arr.length; j++){
arr[i][j] = str.charAt(j);
}
}
for(int i =0; i<5; i++){
for(int j =0; j<15; j++){
if(arr[j][i]=='\0'){
continue;
}
System.out.print(arr[j][i]);
}
}
sc.close();
}
}
위 코드가 정석적인 방식이다.
import java.util.Scanner;
public class Main{
public static void main(String[] args) throws Exception {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine(); // 일단 첫 줄 입력 받고
String[] temp = str.split(""); // 하나씩 쪼개서 임시 배열에 넣음.
int len = temp.length; // 이 변수는 자주 쓰니까 등록해주고
String[][] arr = new String[5][len]; // temp 배열 길이 만큼의 2차원 배열 생성
for(int i =0; i<5; i++){
for(int j =0; j< len; j++){
arr[i][j] = "";
}
}
for(int i =0; i <len; i++){ // 첫 줄 2차원 배열 넣기
arr[0][i] = temp[i];
}
for(int i =1; i < 5;i++){ // 두 번째 줄부터 N번째 줄 까지 2차원 배열에 넣기
str = sc.nextLine();
temp = str.split("");
for(int j =0; j < temp.length;j++){
arr[i][j] = temp[j];
}
}
sc.close();
for(int i =0; i<5; i++){
for(int j =0; j<arr.length; j++){
System.out.print(arr[j][i]);
}
}
}
}
아래꺼는 첫 번째 줄과 마지막 째 줄이 빈칸이 없다는 조건을 고려하여 만든 코드이다.
위 코드보다는 효율적인 배열 크기를 생성하여 진행이 된다.
하지만 백준에서 요구하는 정답은 아니다.
'백준(java)' 카테고리의 다른 글
백준 2563 java 힘들게 풀어보기 (0) | 2023.08.21 |
---|---|
백준 2739 java (0) | 2023.08.20 |
백준 2439 java (0) | 2023.08.20 |
백준 2438 java (0) | 2023.08.19 |
백준 11021 java (0) | 2023.08.19 |