자바 백준 2740번
실버 5
https://www.acmicpc.net/problem/2740
문제 보기
분류: 수학, 구현, 선형대수학
코드 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int AN = sc.nextInt();
int AM = sc.nextInt();
int[][] A = readMatrix(sc, AN, AM);
int BM = sc.nextInt();
int BK = sc.nextInt();
int[][] B = readMatrix(sc, BM, BK);
int[][] result = multiplyMatrices(A, B);
printMatrix(result);
}
private static int[][] readMatrix(Scanner sc, int rows, int cols) {
int[][] matrix = new int[rows][cols];
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
matrix[i][j] = sc.nextInt();
}
}
return matrix;
}
private static int[][] multiplyMatrices(int[][] A, int[][] B) {
int AN = A.length;
int AM = A[0].length;
int BM = B.length;
int BK = B[0].length;
int[][] result = new int[AN][BK];
for (int i = 0; i < AN; i++) {
for (int j = 0; j < BK; j++) {
for (int k = 0; k < AM; k++) {
result[i][j] += A[i][k] * B[k][j];
}
}
}
return result;
}
private static void printMatrix(int[][] matrix) {
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[0].length; j++) {
System.out.print(matrix[i][j] + " ");
}
System.out.println();
}
}
}
'공부하기 > 백준' 카테고리의 다른 글
[Java] 백준 풀기 13866 - 팀 나누기 (2) | 2024.01.23 |
---|---|
[Java] 백준 풀기 2875 - 대회 or 인턴 (0) | 2024.01.22 |
[Java] 백준 풀기 10707 - 수도요금 (0) | 2024.01.18 |
[Java] 백준 풀기 2959 - 거북이 (0) | 2024.01.17 |
[Java] 백준 풀기 9613 - GCD 합 (0) | 2024.01.16 |