강의로 돌아가기
김다희

테스트7,33이 틀리는데 무슨 케이스인지 모르겠습니다.

혹시 제가 생각하지 못한 반례를 알려주시면 감사하겠습니다.

작성중인 코드―solution.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
def solution(n,a,b):
    answer = 1
    if a > b:
        aa = b ; bb = a
    else:
        aa = a; bb = b     
    while aa+1 != bb :
        if aa%2 == 0:
            aa = aa/2
        else:
            aa = (aa+1)/2
        if bb%2 == 0:
            bb = bb/2
        else:
            bb = (bb+1)/2
        answer+=1 
    if aa%2 == 0:
        return answer+1
    else:
        return answer
  • yejindaye

    저도 7,33번만 안되는데 왜안되는지 모르겠어요ㅠㅠ

    yejindaye―2021.02.03 00:22
2 개의 답변
장호중

이미 해결하셨을것같지만 적어봅니다. 일단 제가 정확히 다 뜯어보지 않아서 틀릴수도 있습니다.
일단 while 조건문 보시면 while aa+1 != bb : 이렇게 되어있는데 이랬을 경우 예를 들어 aa = 2 bb = 3 경우 while 문을 나가면 안되는데 나가지게 됩니다.
이 부분만 고쳐주시면 잘 통과할것같습니다.

  • yujin0131

    이건 맞아요 왜냐하면 마지막 if문에서 그런경우 +1 하기 때문에 됩니다.

    yujin0131―2021.06.02 14:11
yujin0131

4랑 5인 경우는 차이가 1이지만 3번 경기해야합니다.

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.