공부하기싫어
article thumbnail
  • 1.26 fail - invalid

하 이거 어케하누 ㅋㅋ

 

문제

 

뭔가 알듯하면서 모르겠음

 

이걸 수식을 어케 새울지 모르겠음

 

일단 코드는 이렇게 짜봤음

https://github.com/cyanindy/baekjoon_online_judge/commit/72b4cf55e1cffcec05c5d9b4b59031ad7424374d

 

(fail-invalid) baekjoon online judge problem no.1011 · cyanindy/baekjoon_online_judge@72b4cf5

https://www.acmicpc.net/ step8- string lv.9

github.com

 

어렵다

 

핀트를 잡아내야 하는데 감을 못잡고있음

 

못푸는 문제가 2문제로 늘었네

 

 

 

 

 

 

 

 

 

  • 2.7 fail-timeover

tq

2주만에 재도전했지만 실패했다

답은 나오는것 같지만 시간초과란다...

 

 

 

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

def lightyear(x,y) :
    dist=y-x
    t1,t2=1,2
    if dist==1 : return 1
    elif dist==2 : return 2
    else :
        group=1
        while True :
            ls=[]
            ls=[k for k in range(4, (2+2*group)+1, 2) ]
            #print(ls)
            group_last_n=sum(ls)+2
            if dist<= group_last_n  :
                #print(group)
                #print(group_last_n)
                break
            else :
                group+=1
                
    for i in range(0, group) :
        t1+=2
        t2+=2
    if group_last_n-(group+1)<dist : return t2
    else : return t1
        


    

n=int(input())
result=[]
for i in range(0,n) :
    a,b=map(int, input().split())
    result.append(lightyear(a,b))
    
for j in range(0,n) :
    print(result[j])

 

코드 깃허브

https://github.com/cyanindy/baekjoon_online_judge/blob/main/python3/step8/1011.py

 

GitHub - cyanindy/baekjoon_online_judge: https://www.acmicpc.net/

https://www.acmicpc.net/ . Contribute to cyanindy/baekjoon_online_judge development by creating an account on GitHub.

github.com

일단 코드를 짤 때,

입력값 x, y 의 차이를 dist 로 두고

 

각 dist 별 time이 규칙이 있는 점을 이용해서 코드를 짜보았다.

 

dist - time - group 을 만들어서

dist가 입력되면 group을 찾고 그안에서 time 을 찾게끔 만들어보려고 했는데

시간초과가 나버린다...

 

아무래도 while 문을 써서 처음부터 돌려버리면 시간초과가 나는것 같다.

각 그룹의 끝번호를 계차수열이 등차일때 일반항을 구하는 공식에서 가져왔다.

 

좀더 고민해보고 안되면 걍 구글링 할란다 ㅅㅂ