[프로그래머스 Lv2] 예상 대진표(python)

이진규·2022년 3월 10일
1

프로그래머스(PYTHON)

목록 보기
42/64

문제

https://programmers.co.kr/learn/courses/30/lessons/12985

나의 코드 (답안참조)

"""
1. 아이디어

2. 시간복잡도

"""

def solution(n,a,b):
    answer = 0

    while a != b:
        
        answer += 1
        
        # 1을 더해서 2로 나누었을 때, 자리수를 맞춰줌
        # 예) 1, 2의 경우는 2, 3으로 해서 나눴을때 몫이 1이 되도록
        a, b = (a+1)//2, (b+1)//2
        
    return answer
    

설명

그림을 그려서 a, b = (a+1)//2, (b+1)//2 부분은 알았으나 반복문을 탈출하는 a != b: 부분은 생각못했다. 끝까지 계산해보는 꼼꼼함이 필요한 것 같다.

직접 그림 그려보면 이해하기 쉽다.

참고자료

X

profile
항상 궁금해하고 공부하고 기록하자.

0개의 댓글