[백준] 17207번 : 돌려막기 - JAVA
2024. 11. 13. 17:22 - DoosanBaek
728x90
import java.util.Scanner;
/* 연습문제 6번 돌려 막기 */
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 행렬 A와 B 초기화
int[][] A = new int[5][5];
int[][] B = new int[5][5];
// 행렬 A 입력받기
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
A[i][j] = sc.nextInt();
}
}
// 행렬 B 입력받기
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
B[i][j] = sc.nextInt();
}
}
sc.close();
// 사람의 이름 목록
String[] names = {"Inseo", "Junsuk", "Jungwoo", "Jinwoo", "Youngki"};
int[] workloads = new int[5];
// 각 사람의 최종 일량 계산
for (int x = 0; x < 5; x++) {
for (int y = 0; y < 5; y++) {
int workAmount = 0;
for (int i = 0; i < 5; i++) {
workAmount += A[x][i] * B[i][y];
}
workloads[x] += workAmount;
}
}
// 최종 일량이 가장 작은 사람 찾기
int minIndex = 0;
for (int i = 1; i < 5; i++) {
if (workloads[i] < workloads[minIndex]) {
minIndex = i;
} else if (workloads[i] == workloads[minIndex]) {
// 최종 일량이 같은 경우, 우선 순위 조사
// "Youngki", "Jinwoo", "Jungwoo", "Junsuk", "Inseo" 순으로 우선순위
if (names[i].compareTo(names[minIndex]) < 0) {
minIndex = i;
}
}
}
// 가장 일이 바쁘지 않은 사람 출력
System.out.println(names[minIndex]);
}
}
728x90
'알고리즘' 카테고리의 다른 글
| [백준] 25501번 : 재귀의 귀재 - JAVA (1) | 2024.11.14 |
|---|---|
| [백준] 24416번 : 알고리즘 수업 피보나치 수 1 - JAVA (0) | 2024.11.14 |
| [백준] 2167번 : 2차원 배열의 합 - JAVA (0) | 2024.11.13 |
| [백준] 2018번 : 수들의 합 5 - JAVA (0) | 2024.11.13 |
| [백준] 2477번 : 참외밭 - JAVA (0) | 2024.11.13 |
| [백준] 11945번 : 뜨거운 붕어빵 - JAVA (0) | 2024.11.13 |
| [백준] 2445번 : 별 찍기 - JAVA (0) | 2024.11.13 |
| [백준] 2475번 : 검증수 -JAVA (0) | 2024.11.13 |