알고리즘(python)/수학

[Python]수학 백준 1011

개발일기 2019. 12. 20. 15:00
반응형

문제

https://www.acmicpc.net/problem/1011

이 문제는 몇번만에 도착할수 있느냐 이므로 그걸 기준으로 표를 만들어서 규칙을 찾아봤다.

1                    1        

11                  2        +1

121                3        +2

1221              4        +2

12321            5        +3

123321          6        +3

1234321        7        +4

...


거리가 1,2,2,3,3,4,4 늘어날때마다 횟수가 한번씩 늘어나는걸 알수있다.코드로 짜보면

 이렇게 구현할수 있을


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import sys
 
n=int(input())
 
 
while (n>0):
    n-=1
    x,y=map(int,sys.stdin.readline().split())
    dis=y-#거리
    result=0    #결과
    sub=1   #뺄거리
    check_sub=0
    while(dis>0):
        dis-=sub    #총거리에서 빼줌
        check_sub+=1    #2의 배수마다 늘어남
        if check_sub%2==0:
            sub+=1
        result+=1   #길이 1씩증가
 
    print(result)
 

cs


반복문이나 조건문을 두번이상 들어가면 코드의 들여쓰기가 깨져서 이렇게 올려야

 될거같다.



반응형