๐ป Coding Problems Solving/Two Pointers | Binary Search| LinkedList
[BOJ 1806] ๋ถ๋ถํฉ (java)
Kim_dev
2023. 4. 5. 03:24
1. ๋ฌธ์ : https://www.acmicpc.net/problem/1806
2. ํ์ด
ํฌํฌ์ธํฐ ์ด์ฉํด์ ์ต์๊ฐ ์ฐพ๋ ๋ฌธ์
total์ด s๋ฅผ ๋์ด๊ฐ๋ ์๊ฐ์ ์ก์์ min๊ฐ์ ๊ณ์ ์ ๋ฐ์ดํธ ํด์ค
3. ์ฝ๋
import java.util.Scanner;
public class ๋ถ๋ถํฉ {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int s = scan.nextInt();
int[] nums = new int[n + 1];
for (int i = 0; i < n; i++) {
nums[i] = scan.nextInt();
}
int min = Integer.MAX_VALUE;
int start = 0;
int end = 0;
int total = 0;
while (start <= n && end <= n) {
if (total >= s && min > end - start) min = end - start;
if (total < s) total += nums[end++];
else total -= nums[start++];
}
if (min == Integer.MAX_VALUE) System.out.println("0");
else System.out.println(min);
}
}