본문 바로가기

코테

[프로그래머스] <예상 대진표> 파이썬

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

 

코딩테스트 연습 - 예상 대진표

△△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N

programmers.co.kr

# 4 -> 2 -> 1
# 7 -> 4 -> 2

def solution(n,a,b):
    
    answer = 0
    while True :
        answer += 1
        if abs(a-b) == 1 : break
        else :
            if a % 2 == 0 : a = a/2
            else : a = (a+1)/2
            if b % 2 == 0 : b = b/2
            else : b = (b+1)/2
    return answer

정확성 테스트

테스트 1 통과 (0.00ms, 10.4MB)
테스트 2 통과 (0.00ms, 10.2MB)
테스트 3 통과 (0.01ms, 10.2MB)
테스트 4 통과 (0.01ms, 10.3MB)
테스트 5 통과 (0.01ms, 10.3MB)
테스트 6 통과 (0.01ms, 10.3MB)
테스트 7 실패 (0.00ms, 10.2MB)
테스트 8 통과 (0.01ms, 10.3MB)
테스트 9 실패 (0.01ms, 10.2MB)
테스트 10 통과 (0.01ms, 10.2MB)
테스트 11 통과 (0.01ms, 10.2MB)
테스트 12 통과 (0.01ms, 10.1MB)
테스트 13 통과 (0.01ms, 10.2MB)
테스트 14 통과 (0.01ms, 10.3MB)
테스트 15 통과 (0.01ms, 10.2MB)
테스트 16 통과 (0.01ms, 10.2MB)
테스트 17 통과 (0.01ms, 10.3MB)
테스트 18 통과 (0.01ms, 10.2MB)
테스트 19 통과 (0.01ms, 10.3MB)
테스트 20 통과 (0.01ms, 10.3MB)
테스트 21 통과 (0.01ms, 10.2MB)
테스트 22 통과 (0.01ms, 10.2MB)
테스트 23 통과 (0.01ms, 10.2MB)
테스트 24 통과 (0.01ms, 10.3MB)
테스트 25 통과 (0.00ms, 10.3MB)
테스트 26 통과 (0.00ms, 10.2MB)
테스트 27 실패 (0.02ms, 10.3MB)
테스트 28 통과 (0.02ms, 10.2MB)
테스트 29 통과 (0.01ms, 10.3MB)
테스트 30 통과 (0.02ms, 10.2MB)
테스트 31 통과 (0.01ms, 10.2MB)
테스트 32 통과 (0.01ms, 10.3MB)
테스트 33 실패 (0.00ms, 10.4MB)
테스트 34 통과 (0.02ms, 10.2MB)

채점 결과

정확성: 88.2

합계: 88.2 / 100.0

 

테스트케이스 추가

def solution(n,a,b):
    
    answer = 0
    while True :
        answer += 1
        if a > b and a % 2 == 0 :
            if a - b == 1 : break
        elif b > a and b % 2 == 0 :
            if b - a == 1 : break
                
        if a % 2 == 0 : a = a/2
        else : a = (a+1)/2
            
        if b % 2 == 0 : b = b/2
        else : b = (b+1)/2
    return answer

정확성 테스트

테스트 1 통과 (0.00ms, 10.3MB)
테스트 2 통과 (0.01ms, 10.2MB)
테스트 3 통과 (0.01ms, 10.3MB)
테스트 4 통과 (0.01ms, 10.3MB)
테스트 5 통과 (0.01ms, 10.3MB)
테스트 6 통과 (0.01ms, 10.3MB)
테스트 7 통과 (0.01ms, 10.3MB)
테스트 8 통과 (0.01ms, 10.2MB)
테스트 9 통과 (0.01ms, 10.3MB)
테스트 10 통과 (0.01ms, 10.2MB)
테스트 11 통과 (0.01ms, 10.2MB)
테스트 12 통과 (0.01ms, 10.3MB)
테스트 13 통과 (0.01ms, 10.3MB)
테스트 14 통과 (0.01ms, 10.2MB)
테스트 15 통과 (0.01ms, 10.3MB)
테스트 16 통과 (0.01ms, 10.3MB)
테스트 17 통과 (0.01ms, 10.2MB)
테스트 18 통과 (0.01ms, 10.2MB)
테스트 19 통과 (0.02ms, 10.3MB)
테스트 20 통과 (0.01ms, 10.3MB)
테스트 21 통과 (0.01ms, 10.2MB)
테스트 22 통과 (0.01ms, 10.2MB)
테스트 23 통과 (0.01ms, 10.2MB)
테스트 24 통과 (0.01ms, 10.2MB)
테스트 25 통과 (0.00ms, 10.4MB)
테스트 26 통과 (0.00ms, 10.2MB)
테스트 27 통과 (0.02ms, 10.2MB)
테스트 28 통과 (0.02ms, 10.2MB)
테스트 29 통과 (0.02ms, 10.2MB)
테스트 30 통과 (0.02ms, 10.4MB)
테스트 31 통과 (0.01ms, 10.3MB)
테스트 32 통과 (0.01ms, 10.3MB)
테스트 33 통과 (0.02ms, 10.2MB)
테스트 34 통과 (0.02ms, 10.4MB)

채점 결과

정확성: 100.0

합계: 100.0 / 100.0