[BOJ] 1806. ๋ถ€๋ถ„ํ•ฉ (๐Ÿฅ‡, ๋ˆ„์ ํ•ฉ/ํˆฌํฌ์ธํ„ฐ)

lemythe423ยท2023๋…„ 12์›” 28์ผ
0

BOJ ๋ฌธ์ œํ’€์ด

๋ชฉ๋ก ๋ณด๊ธฐ
91/133
post-thumbnail

๐Ÿ”—

ํ’€์ด

๊ธธ์ด๊ฐ€ 10๋งŒ์ด๊ธฐ ๋•Œ๋ฌธ์— ํˆฌํฌ์ธํ„ฐ๋กœ ํ’€์ดํ–ˆ๋‹ค. i๋Š” ์™ผ์ชฝ ์ธ๋ฑ์Šค, j๋Š” ์˜ค๋ฅธ์ชฝ ์ธ๋ฑ์Šค๋กœ ๋‘๊ณ  ๊ฐ’์„ ๋”ํ•  ๋•Œ๋Š” j์— ์žˆ๋Š” ๊ฐ’์„ ๋”ํ•˜๊ณ  j++๋ฅผ, ๊ฐ’์„ ๋บ„ ๋•Œ๋Š” i์— ์žˆ๋Š” ๊ฐ’์„ ๋นผ๊ณ  i++๋ฅผ ํ•˜๊ฒŒ ๋œ๋‹ค.

์šฐ์„  ์‹œ์ž‘ํ•  ๋•Œ๋Š” ๊ตฌ๊ฐ„ ๋‚ด์˜ ํ•ฉ์ธ s ๊ฐ€ ๊ธฐ์ค€๊ฐ’ S ๋ณด๋‹ค ์ž‘์œผ๋ฉด j์— ์žˆ๋Š” ๊ฐ’์„ ๋”ํ•œ๋‹ค. ๋ฐ˜๋Œ€๋กœ s ๊ฐ€ ๊ธฐ์ค€๊ฐ’ S ๋ณด๋‹ค ํฌ๋ฉด i์— ์žˆ๋Š” ๊ฐ’์„ ๋บ€๋‹ค. ๊ธฐ์ค€์„ ์ถฉ์กฑํ•˜์ง€ ์•Š์œผ๋ฉด ์ถฉ์กฑํ•  ๋•Œ๊นŒ์ง€ ๊ฐ’์„ ๋”ํ•ด๋‚˜๊ฐ€๊ณ , ๊ธฐ์ค€์„ ์ถฉ์กฑํ•œ๋‹ค๋ฉด ๊ฐ€์žฅ ์งง์€ ๊ธธ์ด๋ฅผ ๊ตฌํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๊ฐ€์žฅ ์™ผ์ชฝ์˜ ๊ฐ’์„ ๋นผ๋‚˜๊ฐ€๋Š” ๊ฒƒ์ด๋‹ค. ๊ธฐ์ค€์„ ์ถฉ์กฑํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ์งง์€ ๊ธธ์ด๋ฅผ ์—…๋ฐ์ดํŠธ ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

// ๋ถ€๋ถ„ํ•ฉ 

package Baekjoon.Gold;

import java.util.Scanner;

public class baekjoon_1806 {
        static int N, S;
    static int[] arr;
    static int sol(int s) {
        if (s < S) {
            return 0;
        }

        s = 0;
        int i = 0, j = 0, minLen = arr.length;
        while (true) {
            if (s >= S) {
                // ๊ธฐ์ค€์„ ์ถฉ์กฑํ•˜๋Š” ๊ฒฝ์šฐ 1. ์™ผ์ชฝ ๊ฐ’์„ ๋นผ๊ณ , 2. ์™ผ์ชฝ ์ธ๋ฑ์Šค ์ฆ๊ฐ€
                s -= arr[i];
                minLen = Math.min(minLen, j - i);
                i++;
            } else {
                // ๊ธฐ์ค€์„ ์ถฉ์กฑํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ. 1. ์˜ค๋ฅธ์ชฝ ๊ฐ’์„ ๋”ํ•˜๊ณ , 2. ์˜ค๋ฅธ์ชฝ ์ธ๋ฑ์Šค ์ฆ๊ฐ€
                if (j >= arr.length) break;
                s += arr[j];
                j++;
            }
        }
        return minLen;
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        N = sc.nextInt();
        S = sc.nextInt();

        arr = new int[N];
        int s = 0;
        for (int i = 0; i < arr.length; i++) {
            arr[i] = sc.nextInt();
            s += arr[i];
        }

        System.out.println(sol(s));
    }
}
profile
์•„๋ฌด๋ง์ด๋‚˜ํ•˜๊ธฐ

0๊ฐœ์˜ ๋Œ“๊ธ€