반응형
접근 방법)
5행 15열짜리 배열은 만든 다음 그 배열 속에서 입력 값의 범위만큼 사용하여 문제를 해결하면 된다.
5행은 기본적으로 고정이며, 15열 중 몇 열을 사용할지는 Scanner를 통해 입력받은 첫 번째 줄 값을 length() 함수를 이용하여 배열의 행 열 값을 알아낼 수 있다.
그리고 이중 for문을 이용하여 2차원 배열을 만들어낼 수 있다.
그리고 만들어진 배열은 이중 for문을 이용하여 출력하면 된다.
정답 코드 1)
import java.util.*;
import java.lang.*;
import java.io.*;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
char[][] arr = new char[5][15]; // 5행 15열 배열 생성
for(int i = 0; i < 5; i++){ // 5행
String str = sc.nextLine(); // 입력값 enter 기준으로 입력받음
for(int j = 0; j < str.length(); j++){ // 입력값 길이 만큼 for문 실행
arr[i][j] = str.charAt(j);
}
}
for(int j = 0; j < arr[0].length; j++){
for(int i = 0; i < 5; i++){
if (arr[i][j] == 0) {
continue; // 0 값에 해당할 경우 반복문 현재 단계 중단
}
System.out.print(String.valueOf(arr[i][j])); // 결과값 출력
}
}
}
}
5행 15열 배열을 만든 후 열 값은 입력값의 길이를 가져와 사용할 수 있도록 for문을 만들어준다.
마지막으로 이중 for문을 이용하여 결과값을 출력할 때 continue를 사용하는데, 반복문을 실행하면서 해당 2차원 배열 값이 0인 경우 반복문을 중단하고 넘어갈 수 있도록 추가해야 한다.
이 문제를 풀면서 입력했을 때 열 길이에 맞게 자동으로 2차원 배열을 생성할 수 있지에 대한 부분에서 많이 헤매었다.
문제를 다 풀고 나서 되돌아보았을 때 굉장히 단순한 2차원 배열 문제인 것 같았다.
반응형
'Baekjoon 자바 코드 > 2차원 배열' 카테고리의 다른 글
[백준] 2563번 색종이 풀이 코드 (Java 자바) (0) | 2024.06.11 |
---|---|
[백준] 2566번 최댓값 풀이 코드 (Java 자바) (0) | 2024.05.22 |
[백준] 2738번 행렬 덧셈 풀이 코드 (Java 자바) (0) | 2024.05.21 |