코딩테스트/백준

[Java] 백준 22945번 - 팀 빌딩

곰돌이볼 2023. 5. 9. 10:52

 

  • 입력
    • 첫번째 줄
      • 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);
    }
}

 

  • 결과
    • 성공