Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- geometry
- Counting
- sorting
- array
- Binary Tree
- Stack
- Tree
- simulation
- 파이썬
- string
- 코딩테스트
- Binary Search
- 코테
- Number Theory
- Math
- Matrix
- java
- 자바
- bit manipulation
- Data Structure
- greedy
- two pointers
- hash table
- 구현
- Method
- Class
- dynamic programming
- database
- SQL
- implement
Archives
- Today
- Total
코린이의 소소한 공부노트
[LeetCode/Easy] 762. Prime Number of Set Bits in Binary Representation 본문
코딩테스트 풀이/JAVA
[LeetCode/Easy] 762. Prime Number of Set Bits in Binary Representation
무지맘 2022. 12. 7. 18:001. Input
1) 정수 left
2) 정수 right
2. Output
1) [left, right] 범위의 정수 중 2진수로 바꿨을 때 1의 개수가 소수인 수의 개수
3. Constraint
1) 1 <= left <= right <= 10^6
2) 0 <= right - left <= 10^4
4. Example
Input: left = 10, right = 15 -> Output: 5
설명:
10 -> 1010 -> 1이 2개 -> 2는 소수(O)
11 -> 1011 -> 1이 3개 -> 3는 소수(O)
12 -> 1100 -> 1이 2개 -> 2는 소수(O)
13 -> 1101 -> 1이 3개 -> 3는 소수(O)
14 -> 1110 -> 1이 3개 -> 3는 소수(O)
15 -> 1111 -> 1이 4개 -> 4는 합성수(X)
따라서 5를 반환한다.
5. Code
1) 첫 코드(2022/06/29)
int count = 0;
for(int i=left ; i<=right ; i++){
int n = i;
int d = 0;
while(n>=1){
d += n%2;
n /= 2;
}
if(isPrime(d))
count++;
} // for i
return count;
// 소수 판별 메서드
boolean isPrime(int d){
if(d==1) return false;
if(d==2) return true;
for(int i=d-1 ; i>=2 ; i--)
if(d%i==0) return false;
return true;
}
'코딩테스트 풀이 > JAVA' 카테고리의 다른 글
[LeetCode/Easy] 796. Rotate String (0) | 2022.12.07 |
---|---|
[LeetCode/Easy] 771. Jewels and Stones (0) | 2022.12.07 |
[LeetCode/Easy] 747. Largest Number At Least Twice of Others (0) | 2022.12.07 |
[LeetCode/Easy] 744. Find Smallest Letter Greater Than Target (0) | 2022.12.06 |
[LeetCode/Easy] 728. Self Dividing Numbers (0) | 2022.12.06 |