-Code
n = int(input())
start = 0
end = n
while start <= end:
mid = (start + end) // 2
if mid ** 2 < n:
start = mid + 1
else:
end = mid - 1
print(start)
처음에 제곱근 공식을 이용해 올림으로 처리해서 제출했으나 틀리고 몇번 고쳐서 안되어서 포기했다가 분류를 보니 이분탐색이어서 이분탐색을 사용했습니다. 하지만 원래 하던대로 mid를 출력했지만 또 틀려서 찾아보니 최솟값을 구하는 문제여서 부등호 문제와 출력에 start를 해주니 해결이 되었습니다.
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[백준/파이썬] 11663번 선분 위의 점 (0) | 2022.05.06 |
---|---|
[백준/파이썬] 2512번 예산 (0) | 2022.05.06 |
[백준/파이썬] 1789번 수들의 합 (0) | 2022.05.05 |
[백준/파이썬] 5568번 카드 놓기 (0) | 2022.05.05 |
[백준/파이썬] 18511번 큰 수 구성하기 (0) | 2022.05.05 |