Tags
- PGM
- Java
- ๊น์ด ์ฐ์ ํ์
- ์๋ฎฌ๋ ์ด์
- ๊ตฌํ
- BFS
- sort
- LV2
- ์ ๋ ฌ
- DP
- Dynamic Programming
- ๋๋น ์ฐ์ ํ์
- greedy
- SpringBoot
- Python
- ๊ทธ๋ํ ์ด๋ก
- dfs
- Study
- queue
- ๋ฐฑํธ๋ํน
- CodingTest
- Brute Force Algorithm
- ๊ทธ๋ํ ํ์
- stack
- ์ ์๋ก
- ์๋ฃ๊ตฌ์กฐ
- ๊ต์ฌ
- BOJ
- ๋ฌธ์์ด
- ์ํ
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_2003 : ์๋ค์ ํฉ 2 ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- n๊ฐ์ ์ซ์์ ํฉ์ผ๋ก m์ ๋ง๋ค ์ ์๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์ถ๋ ฅํ๋ค.
- m์ 3์ต์ด๋ฏ๋ก intํ์ผ๋ก ์ถฉ๋ถํ๋ค.
- n๊ฐ์ ์์ ํฉ์ด m์ด ๋๋์ง ๋งค๋ฒ ๋ํด์ ํ์ธํ๋ฉด ์๊ฐ์ด๊ณผ๊ฐ ๋ ๊ฒ์ด๋ค.
- ๋ฐ๋ผ์ ๋ฏธ๋ฆฌ ๋์ ํฉ ๋ฆฌ์คํธ sum๋ฅผ ๋ง๋ค์ด ๋๋ค.
- ์ธ๋ฑ์ค i๋ถํฐ ์ธ๋ฑ์ค j ๊น์ง์ ํฉ์ sum[j] - sum[i] ๋ก ๊ตฌํ ์ ์๋ค.
- sum[0]์ 0์ด๋ค.
- sum[j] - sum[i] > m์ด๋ฉด, ๊ณ์ ์ปค์ง๋ ๋ฐฉํฅ์ธ ๋ค์ j๋ฅผ ํ์ธํ๋ ๊ฑธ ๋ฉ์ถ๊ณ ๋ค์ i๋ฅผ ํ์ธํ๋ค.
๐ธ ์ฝ๋ ๐ธ
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());
final int n = Integer.parseInt(st.nextToken());
final int m = Integer.parseInt(st.nextToken());
int sum[] = new int[n+1];
sum[0] = 0;
st = new StringTokenizer(br.readLine());
for (int i = 1; i <= n; i++){
sum[i] = sum[i-1] + Integer.parseInt(st.nextToken());
}
int answer = 0;
for (int i = 0; i <= n; i++){
for (int j = i + 1; j <= n; j++){
if (sum[j] - sum[i] == m) {
answer++;
break;
}
}
}
System.out.println(answer);
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- n๊ฐ์ ์๋ฅผ sum[1]๋ถํฐ sum[n]์ ์ ์ฅํ๋ค.
- sum[0] ์ 0์ด๋ค.
- i>0์ผ๋, sum[i] = sum[i-1] + ์ ๋ ฅ์๋ก ๋์ ํด๊ฐ๋ฉฐ ์ ์ฅํ๋ค.
- i๋ถํฐ j์ ํฉ์ sum[j] - sum[i]๋ก ๊ตฌํ ์ ์๋ค.
- ๊ฐ์ด m์ด๋ฉด answer++
- j๋ฅผ ๋ ํค์๋ดค์ m์ ์ด๊ณผํ๋ฏ๋ก breakํด์ค๋ค.
๐ธ end ๐ธ
- ๋ถ๋ถ ํฉ ๋ฌธ์ ๋ก ์๊ฐํ๋๋ฐ ํ๊ทธ๋ ํฌ ํฌ์ธํฐ๋ก ๋ฌ๋ ค์์๋ค.
- ๋ค์ ๊ฐ๋ ์ ํ์ธํด๋ณด๋ ๋ถ๋ถ ํฉ ๊ฐ๋ ์์ ํฌ ํฌ์ธํฐ๊ฐ ๋ น์์๋ ๊ฒ ๊ฐ๋ค.
- ์ฝ๋์์ sum[i] - sum[j] == m ์ธ ๊ฒฝ์ฐ์๋ง ์กฐ๊ธฐ ์ข ๋ฃ๋๋๋ฐ, sum[i] - sum[j] > m ๊ฒฝ์ฐ์๋ ์กฐ๊ธฐ ์ข ๋ฃ๋ฅผ ํด์ค์ผ ๋ ๋น ๋ฅธ ์ฝ๋๊ฐ ๋๋ค๊ณ ์๊ฐํด์ ์์ ํ ์ฑ์ ํด ๋ดค์ง๋ง ์๊ฐ์ ๋์ผํ๋ค. ํ ์คํธ ์ผ์ด์ค๊ฐ ์ฐจ์ด๊ฐ ์๋๋ ์ผ์ด์ค ์ธ ๊ฒ ๊ฐ๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_1059 : ์ข์ ๊ตฌ๊ฐ (0) | 2022.10.30 |
---|---|
BOJ_1051 : ์ซ์ ์ ์ฌ๊ฐํ (0) | 2022.10.27 |
BOJ_11004 : K๋ฒ์ฌ ์ (0) | 2022.10.25 |
BOJ_6996 : ์ ๋๊ทธ๋จ (0) | 2022.10.24 |
BOJ_10989 : ์ ์ ๋ ฌํ๊ธฐ 3 (0) | 2022.10.23 |