-코드
for _ in range(int(input())):
x, y = map(int, input().split())
l = y - x
cnt = 0
num = 0
r = 0
while 1:
if r >= l:
break
num += 1
if num % 2 == 1:
cnt += 1
r += cnt
print(num)
문제를 이해를 못해서 게시판과 구글을 찾아보니 거리가 늘어날 수록 장치 발동 횟수가
위 표와 같이 (1, 1), (2, 2), (3, 3) 과 같은 형식으로 2번씩 반복하고 장치 사용 횟수(cnt) 변하게 되는데 그래서 이것을 해결하기 위해 반복 수를 num으로 선언하고, 홀수의 반복 수 묶음 마다 장치 사용 횟수(cnt)가 커지게하여 r에 장치 사용 횟수(cnt)만큼씩 더해주면 장치 사용 횟수(cnt)를 2번 씩 더해주고 1이 올라가면서 해당 반복 수 안에 들어가게 되면 break를 통해 num을 출력하게 해서 해결을 하였습니다.
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[백준/파이썬]9461번 파도반 수열 (0) | 2021.11.04 |
---|---|
[백준/파이썬]2547번 사탕 선생 고창영 (0) | 2021.11.03 |
[백준/파이썬]16283번 Farm (0) | 2021.11.01 |
[백준/파이썬]14568번 2017 연세대학교 프로그래밍 경시대회 (0) | 2021.10.31 |
[백준/파이썬]23343번 JavaScript (0) | 2021.10.30 |