코딩테스트/백준
[Java] 백준 22945번 - 팀 빌딩
곰돌이볼
2023. 5. 9. 10:52
- 문제
- 링크 : 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);
}
}
- 결과
- 성공