문제 링크 > 코딩테스트 연습 - 유사 칸토어 비트열 | 프로그래머스 스쿨 (programmers.co.kr)
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr


솔루션 >
def solution(n, l, r):
answer = f(n, r) - f(n, l - 1)
return answer
def f(n, pos):
if n == 1:
return '11011'[:pos].count('1')
quotient, remainder = divmod(pos, 5 ** (n - 1))
cnt = 0
if quotient <= 1:
cnt = 4 ** (n - 1) * quotient + f(n - 1, remainder)
elif quotient == 2:
cnt = 2 * 4 ** (n - 1)
elif quotient > 2:
cnt = 4 ** (n - 1) * (quotient - 1) + f(n - 1, remainder)
return cnt'Development > Algorithm' 카테고리의 다른 글
| < 알고리즘 문제 풀이 > 테이블 해시 함수 (0) | 2023.12.29 |
|---|---|
| < 알고리즘 문제 풀이 > 마법의 엘레베이터 (0) | 2023.12.27 |
| < 알고리즘 문제 풀이 > 이모티콘 할인행사 (0) | 2023.12.05 |
| < 알고리즘 문제 풀이 > 택배 배달과 수거하기 (0) | 2023.12.05 |
| < 알고리즘 문제 풀이 > 시소 짝궁 (0) | 2023.12.05 |