Tags
- sort
- ์ ์๋ก
- CodingTest
- dfs
- ์๋ฃ๊ตฌ์กฐ
- Dynamic Programming
- PGM
- Python
- LV2
- stack
- Study
- DP
- SpringBoot
- ์ ๋ ฌ
- BFS
- queue
- ๊น์ด ์ฐ์ ํ์
- ์ํ
- greedy
- Java
- ๊ทธ๋ํ ์ด๋ก
- BOJ
- ๋๋น ์ฐ์ ํ์
- ๊ตฌํ
- ๋ฐฑํธ๋ํน
- Brute Force Algorithm
- ์๋ฎฌ๋ ์ด์
- ๋ฌธ์์ด
- ๊ต์ฌ
- ๊ทธ๋ํ ํ์
Archives
๊ธฐ๋ก๋ฐฉ
Lv.2 : ์ ํ์ ์๊ฐ ์ด๋ ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- 0์์ n๊น์ง ์ด๋ํ๋ ์ต์ ์ ํ ์๋ฅผ ๋ฐํํ๋ค.
- ์ ํํ๋ฉด ํ ์นธ ์์ผ๋ก ์ด๋ํ๋ค.
- ํ ๋ ํฌํธํ๋ฉด ํ์ฌ ์ธ๋ฑ์ค์ 2๋ฐฐ ์ธ๋ฑ์ค๋ก ์ด๋ํ๊ณ , ์ ํ ์๋ ์ฆ๊ฐํ์ง ์๋๋ค.
๐ธ ๋ฌธ์ ํ์ด ๐ธ
- ํ ๋ ํฌํธ๋ ์ง์ ์ธ๋ฑ์ค์์๋ง ๊ฐ๋ฅํ๊ณ , ์ ํ ์๊ฐ ์ฆ๊ฐํ์ง ์์ผ๋ฏ๋ก ๋ฌด์กฐ๊ฑด ๋ง์ด ์ฐ๋ฉด ์ข๋ค.
- 0๋ถํฐ ์์ํด n์ผ๋ก ํฅํ๋ฉด, ์ธ ๋ฐ ์๋ ๊ฒฝ์ฐ์ ์๊ฐ ๋ง์์ง๋ฏ๋ก ํ์คํ ๋์ฐฉํ๋ ๊ฒฝ๋ก๋ฅผ ์ฐพ๊ธฐ ์ํด์ n๋ถํฐ ์์ํด 0์ผ๋ก ๋๋๋๋ก ๊ณ์ฐํ๋ค.
- ํ์ฌ ์๊ฐ ์ง์๋ผ๋ฉด n/2 ์ ๋ฐ ์ธ๋ฑ์ค๋ก ์ด๋ํ๋ค. (ํ ๋ ํฌํธ)
- ํ์ฌ ์ธ๋ฑ์ค๊ฐ ํ์๋ผ๋ฉด -1ํ๊ณ ์ ํ ์ ์นด์ดํธ๋ฅผ +1 ํ๋ค. (์ ํ)
๐ธ ์ฝ๋ ๐ธ
public class Solution {
public int solution(int n) {
int answer = 0;
while(n > 0) {
if(n % 2 == 0) {
n /= 2;
} else {
n--;
answer++;
}
}
return answer;
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- n์ด 0์ด ๋ ๋๊น์ง ์ ํ์ ํ ๋ ํฌํธ๋ฅผ ๋ฐ๋ณตํ๋ค.
- ์ ํ ์๋ฅผ ์นด์ดํธํด ๋ฐํํ๋ค.
๐ธ ์ฝ๋ 2 ๐ธ
public class Solution {
public int solution(int n) {
return Integer.bitCount(n);
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- 0๋ถํฐ n๊น์ง ๊ฐ๋ X2์ฐ์ฐ๊ณผ +1 ์ฐ์ฐ์ 2์ง์๋ก ๋ดค์๋ '1'์ด ์ถ๊ฐ๋๋ ๊ณ์ฐ์ด๋ค.
- ๋ฐ๋ผ์ n์ 2์ง์์์ 1์ ๊ฐ์๋ฅผ ๋ฐํํ๋ฉด ๋๋ค.
๐ธ end ๐ธ
- ์ฒ์์ ๋จ์ BFSํ์ด ์ธ ์ค ์์์ง๋ง, ํจ์จ์ฑ ํ
์คํธ๊ฐ ์๋ ๋ฌธ์ ์ฌ์ ์๊ฐ ๋ฐ ๋ฉ๋ชจ๋ฆฌ ์ด๊ณผ ์ค๋ฅ๊ฐ ์๋ฉ ๋ฌ๋ค.
- ๋ธ๋ฃจํธ ํฌ์ค๋ฅผ ์ฐ๊ธฐ์๋ N์ด 10์ต๊น์ง ๊ฐ๋ฏ๋ก ๊ฒฝ์ฐ์ ์๊ฐ ๋๋ฌด ๋ง์์ง๋ค.
- DP๋ ๊ทธ๋ฆฌ๋ ์ ์ธ ์ ๊ทผ์ผ๋ก ํจ์จ์ ์ผ๋ก ํ์ด์ผ๋ง ํ๋๋ฐ, ๊ทธ๋์ ๊ทธ๋ฐ์ง ๋ค๋ฅธ์ฌ๋ ํ์ด๊ฐ ์ ์ฌํ ๊ฒ ๋ฟ์ด์๋ค.
- ํน์ดํ ๊ฑด 2์ง๋ฒ์ ์ด์ฉํ ํ์ด์ธ๋ฐ, ๊ฐ๋จํ ์ค๋ช ํ๋ฉด X2์ +1์ฐ์ฐ๋ง ์๊ธฐ ๋๋ฌธ์ n์ ๊ทธ๋ฅ 2์ง์๋ก ํํํด์ 1์ ๊ฐ์๋ฅผ ์ธ๋ฉด ๊ทธ๊ฒ ๋ต์ด๋ค...
- 2์ง์ ํ์ด ์ฝ๋์ ์ฑ์ ๊ฒฐ๊ณผ๋ฅผ ์ถ๊ฐํ๋ค.
- 2์ง์ ํ์ด๊ฐ ์ฝ๋๋ ์๋์ ์ผ๋ก ์งง์๋ฐ, ์๋์ ๋ฉ๋ชจ๋ฆฌ๋ ๋น์ทํ ๊ฒ ๊ฐ๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Lv.2 : N๊ฐ์ ์ต์๊ณต๋ฐฐ์ (0) | 2023.09.16 |
---|---|
Lv.2 : ์์ ๋์งํ (0) | 2023.09.14 |
Lv.2 : ๊ตฌ๋ช ๋ณดํธ (0) | 2023.09.12 |
Lv.2 : ์์ด ๋๋ง์๊ธฐ (0) | 2023.09.12 |
Lv.2 : ์นดํซ (0) | 2023.09.12 |