Tags
- queue
- ๊น์ด ์ฐ์ ํ์
- Study
- DP
- ์ํ
- ์ ๋ ฌ
- ๊ทธ๋ํ ์ด๋ก
- ๊ทธ๋ํ ํ์
- Java
- SpringBoot
- ๊ตฌํ
- ๋ฐฑํธ๋ํน
- BOJ
- ๋ฌธ์์ด
- ์๋ฃ๊ตฌ์กฐ
- greedy
- PGM
- LV2
- ์๋ฎฌ๋ ์ด์
- BFS
- ์ ์๋ก
- sort
- Python
- CodingTest
- Dynamic Programming
- Brute Force Algorithm
- ๊ต์ฌ
- stack
- dfs
- ๋๋น ์ฐ์ ํ์
Archives
๊ธฐ๋ก๋ฐฉ
Lv.1 : ์ผ์ด์ฌ ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- number ๋ฐฐ์ด์์ 3๊ฐ๋ฅผ ๋ฝ์์ ๋ ํฉ์ด 0์ด๋๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์ถ๋ ฅํ๋ค.
- number.length C 3 ์ ์กฐํฉ ๋ฌธ์ ์ด๋ค.
๐ธ ์ฝ๋ ๐ธ
class Solution {
private int ans;
public int solution(int[] number) {
ans = 0;
comb(number, 0, 0, 0);
return ans;
}
private void comb(int[] number, int start, int cnt, int sum) {
if (cnt == 3) {
if (sum == 0) ans++;
return;
}
for(int i = start; i <= number.length - (3-cnt); i++) {
comb(number, i+1, cnt+1, sum+number[i]);
}
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- ์ฌ๊ท ๋ฉ์๋ comb๋ก number๋ฐฐ์ด์์ 3๊ฐ์ ์ซ์๋ฅผ ๋ฝ๋ ์กฐํฉ์ ๊ตฌํํ๋ค.
- ์ซ์๋ฅผ ๋ฝ๋ ๊ฒ์ sum ๋ณ์์ ๋์ ํ๋ ๋ฐฉ์์ด๋ค.
- ์ค๋ณต์ ํผํ๊ธฐ ์ํด ๋ฝ์ ์ ๋ค์ ์ธ๋ฑ์ค๋ถํฐ ๋ค์ ์ซ์๋ฅผ ๋ฝ๋๋ค.
- ๋ฐ๋ผ์ ์ธ๋ฑ์ค๋ number.length - (3-cnt) ๊น์ง๋ง ํ์ํ๋ฉด ๋๋ค.
๐ธ end ๐ธ
- ๊ธฐ๋ณธ์ ์ธ ์กฐํฉ ๋ฌธ์ ์ฌ์ 1๋ถ๋ง์ ํ์๋ค.
- number.length-(3-cnt)๋ฅผ ๊ณ์ฐํ ๊ฒ ๊น์ง ์ข์๋๋ฐ, '<=' ๊ฐ ์๋ '<'๋ก ์จ์ ์ค๋ฅ๊ฐ ๋ฌ๊ณ , ํ ์ผ๋ฅผ ํตํด ์ก์๋๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Lv.1 : ์น์์ด (2) (0) | 2023.04.10 |
---|---|
Lv.1 : ์ผ์ด์ฌ (0) | 2023.04.10 |
Lv.1 : ์ซ์ ์ง๊ฟ (0) | 2023.04.10 |
BOJ_17143 : ๋์์ (0) | 2023.04.07 |
BOJ_16928 : ๋ฑ๊ณผ ์ฌ๋ค๋ฆฌ ๊ฒ์ (0) | 2023.04.07 |