프로그래머스/LV2

[프로그래머스 Lv2,python] - 유사 칸토어 비트열

chyam_eun 2025. 5. 28. 16:51

https://school.programmers.co.kr/learn/courses/30/lessons/148652

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

# 시간초과 풀이

def solution(n, l, r):
    answer,i = 0,0
    kan = '1'
    # 1을 11011으로, 0을 00000으로 치환. 
    for i in range(n):
        if '0' in kan:
            kan = kan.replace('0','00000')
        kan = kan.replace('1','11011')

    return kan[l-1:r].count('1')​
def is_one(idx):
    while idx > 0:
        if idx % 5 == 2:  # 가운데 구간이면 0
            return 0
        idx //= 5
    return 1
                                                                                                                                       
def solution(n, l, r):
    count = 0
    for i in range(l - 1, r): 
        count += is_one(i)
    return count