2차원 배열 문제를 처음 접근하기 좋은 쉬운 문제였다.
구현 자체는 매우 쉬웠지만, 나는 문제를 잘 이해하지 못해 해석에 대한 시간이 약간 있었다.
또한 Stringtokenizer의 활용 정도?? 면 매우 쉽게 풀 수 있는 문제일 거라 생각한다.
해당 문제 로직이 쉽기 때문에 시간제한과 메모리 제한은 신경 안써도 된다고 판단했다.
내가 생각한 구현 로직은 이렇다.
n * m 크기니깐 arr[n][m]
A와 B행렬이 고정되어있음. 두 행렬을 for문으로 출력하고 합친 값을 배열에 넣어서 출력
[최종 코드]
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int n = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
int[][] arr1 = new int[n][m];
int[][] arr2 = new int[n][m];
int[][] sumarr = new int[n][m];
for (int i = 0; i < n; i++) {
st = new StringTokenizer(br.readLine(), " ");
for (int j = 0; j < m; j++)
arr1[i][j] = Integer.parseInt(st.nextToken());
}
for (int i = 0; i < n; i++) {
st = new StringTokenizer(br.readLine(), " ");
for (int j = 0; j < m; j++)
arr2[i][j] = Integer.parseInt(st.nextToken());
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
sumarr[i][j] = arr1[i][j] + arr2[i][j];
System.out.print(sumarr[i][j] + " ");
}
System.out.println();
}
}
}
나는 코드 간결화를 위해 sumarr에 값을 더하고나서 바로 해당 값을 출력했다!
배운점
Stringtokenizer를 더 잘 활용할 수 있게 배운 것 같다.
또한 문제 해석에 대해 더 신경을 써야될 거 같다!
'코딩테스트 > 백준' 카테고리의 다른 글
[백준 JAVA] 10798 - 세로읽기 (1) | 2024.11.27 |
---|---|
[백준 JAVA] 2566 - 최댓값 (0) | 2024.11.27 |
[백준 JAVA] 25206 - 너의 평점은 (0) | 2024.11.26 |
[백준 JAVA] 1316 - 그룹 단어 체커 (0) | 2024.11.25 |
[백준 JAVA] 2941 - 크로아티아 알파벳 (0) | 2024.11.25 |