๐Ÿ“– [๋ฐฑ์ค€์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ’€์ด] Q.2559 ์ˆ˜์—ด ๋ฌธ์ œ ํ’€์ด - java

๐Ÿ“– ๋ฌธ์ œ

https://www.acmicpc.net/problem/2559

๐Ÿ” ์ ‘๊ทผ๋ฒ•

Q.2559 ์ˆ˜์—ด ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

์˜จ๋„๊ฐ€ ์–ด๋–ค ์ •์ˆ˜์˜ ์ˆ˜์—ด๋กœ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์—ฐ์†์ ์ธ ๋ฉฐ์น  ๋™์•ˆ์˜ ์˜จ๋„์˜ ํ•ฉ์ด

๊ฐ€์žฅ ํฐ ๊ฐ’์ธ์ง€๋ฅผ ์•Œ์•„๋ณด๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

์ž…๋ ฅ์œผ๋กœ ์—ฐ์†์ ์ธ ๋‚ ์งœ๊ฐ€ k๋กœ ๊ณ ์ •๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋ฏ€๋กœ

์šฐ์„  k์ผ ๋™์•ˆ์˜ ์˜จ๋„์˜ ํ•ฉ์„ ๊ตฌํ•ด์ฃผ๊ณ 

์—ฐ์†์ ์ธ ๋ฉฐ์น  ๋™์•ˆ์˜ ์˜จ๋„์˜ ํ•ฉ์ด๊ธฐ ๋•Œ๋ฌธ์—

k์ผ ์ดํ›„๋ถ€ํ„ฐ๋Š”

ํ˜„์žฌ๊นŒ์ง€ ํ•ฉ์— ํฌํ•จ๋œ ๊ฐ€์žฅ ์ฒซ ๋ฒˆ์งธ ์˜จ๋„๋ฅผ ๋นผ์ฃผ๊ณ  ์ƒˆ๋กœ์šด ๋‚ ์งœ ์˜จ๋„๋ฅผ ๋”ํ•ด์ฃผ๋ฉด

์—ฐ์†์ ์ธ k์ผ ๋™์•ˆ ์˜จ๋„์˜ ํ•ฉ์„ ๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ex) k๊ฐ€ 3์ธ ๊ฒฝ์šฐ 1,2,3 => 2,3,4 => 3,4,5 => 4,5,6 

์ด๋ ‡๊ฒŒ ๊ตฌํ•ด์ง„ k์ผ ๋™์•ˆ ์˜จ๋„์˜ ํ•ฉ ์ค‘ ๊ฐ€์žฅ ํฐ ๊ฐ’์„ ๊ตฌํ•˜๋ฉด

๋‹ต์„ ๋„์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ป ์ฝ”๋“œ


package problem.twopointer;

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

public class Main_2559 {
    static int n, k;
    static int sequence[];
    static int max = Integer.MIN_VALUE;


    public static void main(String[] args) throws IOException {
        input();
        solve();
        System.out.println(max);
    }

    public static void solve(){
        int sum = 0;
        for(int i=0; i<k; i++){
            sum += sequence[i];
        }
        max = Math.max(max,sum);
        for(int i=k; i<n; i++){
            sum -= sequence[i-k];
            sum += sequence[i];
            max = Math.max(max,sum);
        }
    }


    public static void input() throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String temp[] = br.readLine().split( " ");
        n = Integer.parseInt(temp[0]);
        k = Integer.parseInt(temp[1]);
        sequence = new int[n];
        temp = br.readLine().split(" ");
        for(int i=0; i<n; i++){
            sequence[i] = Integer.parseInt(temp[i]);
        }
    }

}


Written on March 10, 2021