습관을 애정한다

Code Signal: Intro=38/60

by 습관중독
#<best 1 = 1위>
def growingPlant(upSpeed, downSpeed, desiredHeight):
    if desiredHeight <= upSpeed:
        return 1
    return math.ceil((desiredHeight - upSpeed) / (upSpeed - downSpeed) + 1)

#<best 2 = 6위>
def growingPlant(upSpeed, downSpeed, desiredHeight):
    return 1 if desiredHeight<=upSpeed else (desiredHeight-upSpeed-1)//(upSpeed-downSpeed)+2

#<my>
def growingPlant(upSpeed, downSpeed, desiredHeight):
    for i in range(1,9999):
        if upSpeed*i - downSpeed*(i-1) >= desiredHeight:
            return i

베스트코드 1위,6위는 생각보다 어거지로 짠 느낌이다. 저렇게 짜는게 더 효율적인걸까?
이번 과제는 내 코드도 꽤나 직관적으로 아이디어가 좋았다고 생각하는데,
'인공지능을 위한 수학'을 읽으면서 일반식? 점화식? 세우는 것에 좀더 친숙해진 덕분인 거 같다.
애러난 부분을 보면서 1day, 2day, 3day의 일반식을 세웠고 그걸 적용하려 했다.

'코드 파이트(Code Signal)' 카테고리의 다른 글

Code Signal: Intro=40/60  (0) 2020.02.22
Code Signal: Intro=39/60  (0) 2020.02.22
Code Signal: Intro=37/60  (0) 2020.02.22
Code Signal: Intro=36/60  (0) 2020.02.22
Code Signal: Intro=35/60  (0) 2020.02.22

블로그의 정보

습관을 애정한다

습관중독

활동하기