[24499번] 애플파이 ( 슬윈, 회전초밥 쉬운 버전, 원형 배열 )

Loopy·2023년 12월 7일
0

코테 문제들

목록 보기
48/113



✅ 이어지는 구간

이 문제는 위의 회전초밥 문제의 쉬운 버전같다.
원형탁자에서 k개를 고르는 문제이므로, 배열의 마지막이 끝난 게 아니고 앞의 배열로 연결해서 연속되게 설정해줘야 하는 문제다.


✅ 코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {

	static int arr[];

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st;

		st = new StringTokenizer(br.readLine());
		int n = Integer.parseInt(st.nextToken());
		int k = Integer.parseInt(st.nextToken());

		arr = new int[n + k - 1];

		st = new StringTokenizer(br.readLine());
		for (int i = 0; i < n; i++) {
			arr[i] = Integer.parseInt(st.nextToken());
		}
		for (int i = 0; i < k - 1; i++) {
			arr[n + i] = arr[i];
		}

		long sum = 0, max = 0;
		for (int i = 0; i < k; i++) {
			sum += arr[i];
		}

		max = Math.max(sum, max);

		for (int i = k; i < arr.length; i++) {
			int j = i - k;
			sum -= arr[j];
			sum += arr[i];
			max = Math.max(sum, max);
		}

		System.out.println(max);

	}
}

profile
잔망루피의 알쓸코딩

0개의 댓글