[백준 27922] 현대모비스 입사 프로젝트 [Java]
2025. 7. 25. 14:29ㆍPS 풀이/Baekjoon Online Judge
문제
27922번: 현대모비스 입사 프로젝트
boj.ma
풀이
문제 요약
N개의 강의 중 K개의 강의만 선택했을 때 얻을 수 있는 두 종류 역량의 합의 최댓값을 구하자.
아이디어
각 역량의 합에 대한 최댓값이 두 종류 역량의 합의 최댓값이 된다는 보장은 없다. 따라서 주어진 강의에 대해 두 종류 역량의 합에 대한 모든 경우의 수를 구해야 한다.
// Solve
int[][] status = new int[3][N];
/*
0 : a + b
1 : b + c
2 : c + a
*/
for (int i = 0; i < N; i++) {
st = new StringTokenizer(br.readLine());
final int a = Integer.parseInt(st.nextToken());
final int b = Integer.parseInt(st.nextToken());
final int c = Integer.parseInt(st.nextToken());
status[0][i] = a + b;
status[1][i] = b + c;
status[2][i] = c + a;
}
가능한 모든 두 종류 역량의 합에 대해 정렬 후, 가장 큰 K개에 대한 합을 서로 비교 후 최댓값을 출력하면 된다.
for (int i = 0; i < 3; ++i) {
Arrays.sort(status[i]);
}
int[] sumStatus = new int[3];
for (int k = N - 1; k >= N - K; --k) {
sumStatus[0] += status[0][k];
sumStatus[1] += status[1][k];
sumStatus[2] += status[2][k];
}
// Output
System.out.println(Math.max(sumStatus[0],
Math.max(sumStatus[1], sumStatus[2])));
}
}
풀이 시간
5분
소스코드
https://github.com/rogi-rogi/problem-solving/blob/main/baekjoon-online-judge/easy/27922.java
problem-solving/baekjoon-online-judge/easy/27922.java at main · rogi-rogi/problem-solving
Daily Problem Solving Challenges. Contribute to rogi-rogi/problem-solving development by creating an account on GitHub.
github.com
'PS 풀이 > Baekjoon Online Judge' 카테고리의 다른 글
| [백준 31671] 특별한 오름 등반 [Java] (3) | 2025.07.27 |
|---|---|
| [백준 24544] 카카오뷰 큐레이팅 효용성 분석 [Java] (0) | 2025.07.26 |
| [백준 31476] :blob_twintail_thinking: [Java] (2) | 2025.07.24 |
| [백준 10157] 자리배정 [Java] (2) | 2025.07.24 |
| [백준 30647] 점수 관리 [Java] (1) | 2025.07.23 |