프로그래머스 대상 예진표

DARTZ·2022년 6월 30일
0

알고리즘

목록 보기
97/135
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

처음에 리스트로 만들어서 복잡하게 풀었지만 간단하게 해결할 수 있는 문제라 생각하고 토너먼트의 성질을 사용하려 했지만 실패해서 일단 정답 코드를 보고 분석을 해보려고 한다. 조가 2의 n제곱이기 때문에 각조를 계산하는 방법은 (a+1) // 2 방법이 된 것 같다. 이를 반복해서 a와 b가 같은 조가 되면 종료하는 방법으로 문제를 해결한 것이 인상깊었다...

profile
사람들이 비용을 지불하고 사용할 만큼 가치를 주는 서비스를 만들고 싶습니다.

0개의 댓글