diff --git a/programmers/유사 칸토어 비트열/solution.java b/programmers/유사 칸토어 비트열/solution.java new file mode 100644 index 0000000..c23ba17 --- /dev/null +++ b/programmers/유사 칸토어 비트열/solution.java @@ -0,0 +1,22 @@ +// [문제 링크]: https://school.programmers.co.kr/learn/courses/30/lessons/148652 + +class Solution { + private int bits(long index){ + String bar = "11011"; + int answer = 0, base = 1; + if(index <= 5){ + for(int a = 0; a < index; a++) if(bar.charAt(a)=='1') answer++; + return answer; + } + while(Math.pow(5,base+1)= 3) answer -= (int)Math.pow(4,base); + if(section == 2) return answer; + else return answer + bits(remainder); + } + public int solution(int n, long l, long r) { + return bits(r)-bits(l-1); + } +} \ No newline at end of file