티스토리 뷰

728x90
반응형

https://programmers.co.kr/learn/courses/30/lessons/82612

 

코딩테스트 연습 - 부족한 금액 계산하기

새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이

programmers.co.kr

 

나의 풀이

def solution(price, money, count):
    answer = 0;
    for i in range(1,count+1):
        answer+=i*price
    return answer-money if answer-money>=0 else 0

 

다른 사람 풀이 1

def solution(price, money, count):
    return max(0,price*(count+1)*count//2-money)

등차수열의 합 공식을 쓴거라고 함 ..

 

다른 사람 풀이 2


def solution(price, money, count):
    return abs(min(money - sum([price*i for i in range(1,count+1)]),0))

 

 

 

 

다른 사람 풀이 보고 개선한 코드 1 

sum 함수 사용 

def solution(price, money, count):
    
        
    return sum(price*i for i in range(1,count+1)) - money if sum(price*i for i in range(1,count+1))-money>0 else 0

 

다시 개선 

min 함수 사용

def solution(price,money,count):
	return max(sum(price*i for i in range(1,count+1))-money,0)

 

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
글 보관함