-
[백준 문제풀이] 얼렁뚱땅 2417번 정수 제곱근 풀이얼렁뚱땅 백준 문제풀이 2022. 5. 17. 19:26
아래 math 패키지를 이용하면 이렇게 된다
elif를 써준 이유는 분명 배웟는데도 모르겠는 부동소숫점 문제 뭐시기때문에
예외가 있다고 한다.. ... ㅜ
import math n = int(input()) answer = math.sqrt(n) if answer*answer < n : print(int(answer)+1) elif str(answer).split('.')[1] == '0' : print(int(answer)) else : print(int(answer)+1)
하지만 그냥 그런 생각 없이 이분탐색으로 풀면 된다
이게 시간은 아주 쪼금 더 걸리지만 괜찮다 굿
n = int(input()) start = 0 end = 2**32 answer = -1 while True : if start > end : break mid = (start+end)//2 if mid**2<n : start = mid + 1 elif mid**2 > n : answer = mid end = mid - 1 else : answer = mid break print(answer)
마법사가 토네이도 부르던거 하다가 이거하니까 쉽다 야호 .. ㅜ
'얼렁뚱땅 백준 문제풀이' 카테고리의 다른 글
[백준 문제풀이] 얼렁뚱땅 2567 색종이_2 풀이 (0) 2022.05.18 [백준 문제풀이] 얼렁뚱땅 2563번 색종이 풀이 (0) 2022.05.17 [백준 문제풀이] 얼렁뚱땅 20057번 마법사 상어와 토네이도 풀이 (0) 2022.05.17 [백준 문제풀이] 얼렁뚱땅 2056번 작업 풀이 (0) 2022.05.16 [백준 문제풀이] 얼렁뚱땅 2629번 양팔저울 풀이 (0) 2022.05.16