- 문제
- 링크 : https://www.acmicpc.net/problem/22945
- 팀 빌딩에서 나올 수 있는 팀 중 능력치의 최대값 구하기
- 입력
- 첫번째 줄
- N : 개발자의 수
- 두번째 줄
- xi : N의 개발자의 각 능력치가 공백으로 구분
- 첫번째 줄
- 출력
- 팀의 능력치 최댓값
- 로직 1)
- 투포인터
package backjoon;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
public class No22945 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int num = Integer.parseInt(br.readLine()); // 사람 수
int[] delvelope = Arrays.stream(br.readLine().split(" "))
.mapToInt(value -> Integer.parseInt(value))
.toArray(); // 개발자의 능력치
int left = 0, right = num-1;
int ans = 0; // 팀빌딩된 팀의 최댓값
while(left<=right) {
int min = Math.min(delvelope[left],delvelope[right]);
ans = Math.max((right-left-1) * min, ans);
if(delvelope[left] < delvelope[right]) left++;
else right--;
}
System.out.println(ans);
}
}
- 결과
- 성공
'코딩테스트 > 백준' 카테고리의 다른 글
[Java] 백준 13164번 - 행복 유치원 (0) | 2023.05.22 |
---|---|
[Java] 백준 1092번 - 배 (0) | 2023.05.20 |
[Java] 백준 21758번 - 꿀 따기 (0) | 2023.05.05 |
[Java] 백준 1167번 - 트리의 지름 (0) | 2023.05.02 |
[Java] 백준 22861번 - 폴더 정리 (large) (0) | 2023.04.26 |