For Programmer

SWEA 5688번 파이썬 문제풀이(세제곱근을 찾아라) 본문

코팅테스트/백준 문제 모음

SWEA 5688번 파이썬 문제풀이(세제곱근을 찾아라)

유지광이 2022. 3. 18. 17:59
728x90

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXVyCaKugQDFAUo 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 


해당 문제 파이썬으로 풀기에는 아주 쉬운 문제이다. 단, 조금 어렵게 변형하면 이분탐색으로 풀지 않으면 시간초과나게 만들 수도 있기 때문에 해당 문제를 이분탐색으로 구현하였다.

 

T = int(input())

for tc in range(1, T + 1):

    N = int(input())
    s, e = 1, N
    ans = -1
    while s <= e:

        m = (s + e) // 2
        if N == m ** 3:
            ans = m
            break
        elif N < m ** 3:
            e = m - 1
        else:
            s = m + 1

    print(f'#{tc} {ans}')
728x90
Comments