Tags
- BOJ
- greedy
- Brute Force Algorithm
- ๊น์ด ์ฐ์ ํ์
- ์ ์๋ก
- ์๋ฃ๊ตฌ์กฐ
- sort
- Dynamic Programming
- BFS
- SpringBoot
- DP
- Java
- Python
- ๋ฐฑํธ๋ํน
- ์๋ฎฌ๋ ์ด์
- PGM
- queue
- ๊ทธ๋ํ ํ์
- ๊ทธ๋ํ ์ด๋ก
- ๊ต์ฌ
- ๋ฌธ์์ด
- Study
- ๋๋น ์ฐ์ ํ์
- ์ํ
- dfs
- stack
- ์ ๋ ฌ
- CodingTest
- ๊ตฌํ
- LV2
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_24389 : 2์ ๋ณด์ ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- ์ฃผ์ด์ง ์๋ฅผ 2์ง์๋ก ๋ฐ๊พผ ๊ฐ๊ณผ ๊ทธ ๊ฐ์ 2์ ๋ณด์๋ก ๋ฐ๊พผ ๊ฐ์ 0๊ณผ 1์ ์ฐจ์ด์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค.
๐ธ ์ฝ๋ ๐ธ
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] arr1 = new int[32];
int[] arr2 = new int[32];
for (int i = 31; i >= 0; i--) {
arr1[i] = n % 2;
n /= 2;
if (n == 0) break;
}
for (int i = 31; i >= 0; i--) {
arr2[i] = 1 - arr1[i];
}
arr2[31]++;
int idx = 31;
while (arr2[idx] == 2) {
arr2[idx--] = 0;
if (idx >= 0)
arr2[idx]++;
}
int answer = 0;
for (int i = 31; i >= 0; i--) {
if (arr1[i] != arr2[i])
answer++;
}
System.out.println(answer);
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- n์ 2์ง์๋ก ๋ณํํ๋ค.
- ๋ชซ์ด 0์ด๋ ๋๊น์ง 2๋ก ๋๋ ์ ๋๋จธ์ง๋ฅผ ์ ์ฅํ๋ค.
- 32๋นํธ์ด๋ฏ๋ก ๋ฐ๋ณต์ ์ต๋๋ 32๋ฒ์ด๋ค.
- 2์ง์๊ฐ ๋ n์ ๊ฐ์ 0์ด๋ฉด 1, 1์ด๋ฉด 0์ผ๋ก ๋ณํํ๊ณ 1์ ๋ํ๋ค.
- ๋ํด์ 2๊ฐ๋๋ฉด ๋ค์ ์๋ฆฌ๋ฅผ +1ํ๋ค.
- 32๊ฐ์ ์๋ฆฌ์๋ฅผ ๋น๊ตํ๋ฉฐ ๋ค๋ฅธ ์๋ฅผ ์นด์ดํธํ๊ณ ์ถ๋ ฅํ๋ค.
๐ธ end ๐ธ
- java์ 2์ง์ ๋ณํ์ ํด์ฃผ๋ toBinaryString ๋ฉ์๋๊ฐ ์์ง๋ง String์ผ๋ก ๋ณํ๋์ ๊ณ์ฐ์ด ๋ณต์กํด์ง๊น๋ด ์ง์ ๊ตฌํํ๋ค.
- ์๋๋ ๋นํธ๋ง์คํน์ผ๋ก ๊ตฌํํ ์ ์์ด ๋ณด์ธ๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_9733 : ๊ฟ๋ฒ (0) | 2022.12.06 |
---|---|
BOJ_11971 : ์๋ ์๋ฐ (0) | 2022.12.06 |
BOJ_3595 : ๋งฅ์ฃผ ๋์ฅ๊ณ (0) | 2022.12.05 |
BOJ_4158 : CD (0) | 2022.12.01 |
BOJ_3447 : ๋ฒ๊ทธ์ (0) | 2022.12.01 |