본문으로 건너뛰기
김신건의 로그

[BOJ] 1484 다이어트

일단, 나이브하게 풀었다. ㅋㅋㅋ

· 📖 약 1분 · 140자/단어 #BOJ #PS #math

문제 요약 및 풀이

1484번: 다이어트

일단, 나이브하게 풀었다. ㅋㅋㅋ

풀이 코드

몇가지 간단한 생각을 하고, 나이브하게 다 긁었다.

  1. 특정 수가 제곱인지 확인하는 건, sqrt 씌우고 다시 곱해보면 된다.
  2. 어떤 수 i가 순서대로 증가할 때, 되는 순간, 더이상 i 를 늘리면서 확인할 필요없다.
  3. [중요] 꼭 아무것도 출력 안 한 경우 -1 출력하기.
from math import sqrt

g = int(input())
cnt = 0

for i in range(1, 11000000):
  if i*i - (i-1)*(i-1) > g:
    break
  k = i*i + g
  q = int(sqrt(k))
  if k == q*q:
    print(q)
    cnt += 1

if cnt == 0:
  print(-1)

💬 댓글

사이트 검색 / 명령어

검색

스크롤 = 확대/축소 · 드래그 = 이동 · 0 = 원래 크기 · ESC = 닫기