이런 문제인데 파이썬에서는 제곱은은 **(0.5) 를 활용하면 된다는 사실을 배웠다.
근데 이걸 알고도 내가 무슨짓을 했냐면
def solution(n):
answer = 0
for i in range(1,int(50000000000000**(1/2))):
if i==n**(0.5):
answer=(i+1)*(i+1)
else:
answer=-1
return answer
for문을 돌려서 1부터 차례대로 답을 대조하고 찾으려는 시간이 엄청 오래 걸리면서 답도 안나오는 코드를 짜고 있었네
말그대로 제곱근을 구하라고 했으니까 제곱근이 맞는지 확인하면 되는거 아니냐
def solution(n):
answer = 0
n=n**(0.5)
if n%1==0:
answer=(n+1)**2
else:
answer=-1
return answer
제곱근을 구해서 소수점이 안나오면 그게 제곱되는거니까 %0을 활용한건데
아 이게 공부하면 할수록 쉬운길을 자꾸 돌아가려는 경향이 있네 아쉽다.
화이팅 하자.
'Python 연습문제' 카테고리의 다른 글
하샤드 수 (0) | 2024.06.11 |
---|---|
정수 내림차순으로 배치하기 (0) | 2024.06.11 |
[고민문제]자연수 뒤집어 배열로 만들기 (쉬운길을 두고 돌아가지 말자) (0) | 2024.06.10 |
Lv3. 단어 맞추기 게임 (0) | 2024.05.28 |
Lv2. 스파르타 자판기 (0) | 2024.05.28 |