반응형
1011번: Fly me to the Alpha Centauri
우현이는 어린 시절, 지구 외의 다른 행성에서도 인류들이 살아갈 수 있는 미래가 오리라 믿었다. 그리고 그가 지구라는 세상에 발을 내려 놓은 지 23년이 지난 지금, 세계 최연소 ASNA 우주 비행
www.acmicpc.net
네 달 전부터 풀지 못했던 문제를 드디어 풀었습니다 !! 유후
이 문제는 숫자의 규칙을 이용해서 풀었습니다. 그리고 확실히 파이썬으로 하니 코드가 짧고 단순해 보이는 것 같습니다.
코딩 테스트 볼 때에 시간이 많이 단축될 것 같아요 ㅎㅎ
파이썬 코드
import math
n = (int)(input())
for i in range(n):
x,y = map(int, input().split())
diff = y-x
if diff <= 3:
print(diff)
else :
x = (int)(math.sqrt(diff))
if diff == x * x:
print(2 * x - 1)
elif diff <= (x * x + x):
print(2 * x)
else:
print(2 * x + 1)
새로 사용한 기능은 math 모듈 안의 sqrt() 라는 기능입니다.
해당 숫자의 제곱근 값을 반환해 주는 것입니다. int로 형변환이 필요합니다.
- 그리고 한 가지 더!!
input()을 받을 때에는 꼭 int형으로 변환을 해줘야 합니다. 안 그러면 str으로 인식하는 것 같습니다ㅠㅠ
반응형
'Programming > Coding Test' 카테고리의 다른 글
백준 13305 - 파이썬으로 그리디 알고리즘 (0) | 2021.01.11 |
---|---|
파이썬에서 정렬은 어떻게 하나요? 3차원일 때에는? (0) | 2021.01.11 |
백준 단계별 문제 풀기 시작합니다 ! (0) | 2021.01.10 |
백준 10757 - 파이썬에서 다룰 수 있는 제일 큰 수는 몇일까? (0) | 2021.01.10 |
백준 3009 - 파이썬에서 두 개 이상의 값 입력받는 방법 (0) | 2021.01.10 |