Tags
- ๋ฐฑํธ๋ํน
- Dynamic Programming
- Python
- dfs
- ๋ฌธ์์ด
- ์ํ
- ๊ทธ๋ํ ์ด๋ก
- ์๋ฃ๊ตฌ์กฐ
- Study
- ์ ์๋ก
- BOJ
- ๊ต์ฌ
- ๊น์ด ์ฐ์ ํ์
- ๊ตฌํ
- stack
- BFS
- SpringBoot
- greedy
- DP
- queue
- CodingTest
- Brute Force Algorithm
- sort
- ์๋ฎฌ๋ ์ด์
- ์ ๋ ฌ
- LV2
- ๋๋น ์ฐ์ ํ์
- Java
- PGM
- ๊ทธ๋ํ ํ์
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_1806 : ๋ถ๋ถํฉ ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- N์๋ฆฌ์ ์์ด ์ค ํฉ์ด S์ด์์ด ๋๋ ์์ด ์ค ๊ฐ์ฅ ์งง์ ๊ฒ์ ๊ธธ์ด๋ฅผ ์ถ๋ ฅํ๋ค.
- N์ 10,000 ์ดํ์ ์์ฐ์์ด๋ค.
- S๋ 0์ด์, 100,000,000(1์ต) ์ดํ์ด๋ค.
- ์์ด์ ๋ชจ๋ ์๋ฅผ ํ์ธํ๊ธด ํด์ผํ๋ค.
- ํฉ์ด S๊ฐ ๋๋ ๊ฒ์ ํจ์จ์ ์ด๊ฒ ๋น๊ตํ๊ธฐ ์ํด์, ๋งค๋ฒ ์ ๋ถ ๋ํ๋ ๊ฒ์ด ์๋๋ผ ํ๋์ฉ ๋ํ๊ณ ๋นผ๋ฉฐ ์งํํ๋ค.
- ๋ฐ๋ผ์ ํฌํฌ์ธํฐ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ค.
๐ธ ์ฝ๋ ๐ธ
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken());
int S = Integer.parseInt(st.nextToken());
int[] arr = new int[N];
st = new StringTokenizer(br.readLine());
for (int i = 0; i < N; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
int len = N + 1;
int sum = arr[0];
int left = 0, right = 0;
while (left <= right && right < N) {
if (sum >= S) {
len = Integer.min(len, right - left + 1);
sum -= arr[left++];
} else if (right == N - 1) break;
else
sum += arr[++right];
}
System.out.print(len < N + 1 ? len : 0);
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- ์ผ์ชฝ ํฌ์ธํฐ์ ์ค๋ฅธ์ชฝ ํฌ์ธํฐ left, right๋ฅผ 0์ผ๋ก ์ด๊ธฐํํ๋ค.
- ํฉ๊ณ sum์ด S๋ณด๋ค ์์ผ๋ฉด ์์๋ฅผ ๋ํด์ค์ผ ํ๋ฏ๋ก, right๋ฅผ ํ๋ ๋๋ฆฌ๊ณ , sum์ arr[right]๋ฅผ ๋ํ๋ค.
- ํฉ๊ณ sum์ด S๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ผ๋ฉด ์์๋ฅผ ๋นผ์ค์ผ ํ๋ฏ๋ก, sum์์ arr[left]๋ฅผ ๋นผ๊ณ left๋ฅผ ํ๋ ๋๋ฆฐ๋ค.
- ์ด๋ ๊ธธ์ด len๋ ์ต์๊ฐ์ผ๋ก ์ ๋ฐ์ดํธํ๋ค.
- right๊ฐ N์ ๋ง์ง๋ง ์ธ๋ฑ์ค๊น์ง ๋์ฐฉํ๋ฉด ๋ฐ๋ณต์ ์ข ๋ฃํ๊ณ len์ ์ถ๋ ฅํ๋ค.
๐ธ end ๐ธ
- ํฌํฌ์ธํฐ๋ผ๋ ์์ด๋์ด๊ฐ ๋ ์ค๋ฅธ ๋ค์๋ ์ฝ๊ฒ ํ์ดํ ์ ์์๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Lv.1 : ๋๋ง์ ์ํธ (0) | 2023.04.20 |
---|---|
BOJ_2110 : ๊ณต์ ๊ธฐ ์ค์น (0) | 2023.04.18 |
BOJ_2589 : ๋ณด๋ฌผ์ฌ (0) | 2023.04.18 |
BOJ_11279 : ์ต๋ ํ (0) | 2023.04.18 |
Lv.1 : ํฌ๊ธฐ๊ฐ ์์ ๋ถ๋ถ ๋ฌธ์์ด (0) | 2023.04.18 |