반응형
SMALL
문제 정보
문제명 - 행렬 곱셈
난이도 - 실버 V
문제 번호 - 2740번
문제 링크
https://www.acmicpc.net/problem/2740
2740번: 행렬 곱셈
첫째 줄에 행렬 A의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 순서대로 주어진다. 그 다음 줄에는 행렬 B의 크기 M과 K가 주어진다. 이어서 M개의 줄에 행렬 B의 원소 K개
www.acmicpc.net
문제
N*M크기의 행렬 A와 M*K크기의 행렬 B가 주어졌을 때, 두 행렬을 곱하는 프로그램을 작성하시오.
입력
첫째 줄에 행렬 A의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 순서대로 주어진다. 그 다음 줄에는 행렬 B의 크기 M과 K가 주어진다. 이어서 M개의 줄에 행렬 B의 원소 K개가 차례대로 주어진다. N과 M, 그리고 K는 100보다 작거나 같고, 행렬의 원소는 절댓값이 100보다 작거나 같은 정수이다.
출력
첫째 줄부터 N개의 줄에 행렬 A와 B를 곱한 행렬을 출력한다. 행렬의 각 원소는 공백으로 구분한다.
예제 입력/출력
예제 입력 예제 출력 3 2 1 2 3 4 5 6 2 3 -1 -2 0 0 0 3
-1 -2 6 -3 -6 12 -5 -10 18
알고리즘 분류
● 수학
● 구현
● 선형대수학
소스코드
package Lv2_Silver;
import java.io.*;
import java.util.*;
/**
* @author HanHoon
* @category 수학, 구현, 선형대수학
* https://www.acmicpc.net/problem/2740
*/
public class BOJ_S5_2740_행렬_곱셈 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
StringBuilder str = new StringBuilder();
// 행렬 A
int nA = Integer.parseInt(st.nextToken());
int mA = Integer.parseInt(st.nextToken());
int[][] arrA = new int[nA][mA];
for(int n = 0; n < nA; n++){
st = new StringTokenizer(br.readLine());
for(int m = 0; m < mA; m++){
arrA[n][m] = Integer.parseInt(st.nextToken());
}
}
// 행렬 B
st = new StringTokenizer(br.readLine());
int nB = Integer.parseInt(st.nextToken());
int mB = Integer.parseInt(st.nextToken());
int[][] arrB = new int[nB][mB];
for(int n = 0; n < nB; n++){
st = new StringTokenizer(br.readLine());
for(int m = 0; m < mB; m++){
arrB[n][m] = Integer.parseInt(st.nextToken());
}
}
// 곰셈
for(int na = 0; na < nA; na++){
for(int mb = 0; mb < mB; mb++){
int sum = 0;
for(int ma = 0; ma < mA; ma++){
sum += arrA[na][ma] * arrB[ma][mb];
}
str.append(sum).append(" ");
}
str.append("\n");
}
System.out.print(str);
br.close();
}
}
BaekJoon List
BaekJoon List
BOJ Start!! ● [BOJ] 백준 회원가입, 시작하는 법 ● [BOJ] 등급(티어) 및 Solved.AC 적용 ● [BOJ/JAVA] 백준 소스코드 제출 시 유의사항(자바) Bronze ● Bronze V - ● Bronze IV - ● Bronze III -..
han-hoon.tistory.com
기회는 준비된 자에게 찾아온다.

반응형
LIST
'BaekJoon > Silver' 카테고리의 다른 글
[BOJ/JAVA] 백준 1912 : 연속합 (자바) (0) | 2023.08.01 |
---|---|
[BOJ/JAVA] 백준 1629 : 곱셈 (자바) (0) | 2023.06.20 |
[BOJ/JAVA] 백준 2178 : 미로 탐색 (자바) (0) | 2023.06.15 |
[BOJ/JAVA] 백준 1676 : 팩토리얼 0의 개수 (자바) (0) | 2023.06.09 |
[BOJ/JAVA] 백준 18110 : solved.ac (자바) (0) | 2023.06.09 |
댓글