[Algorithm log] 그리디#7 백준 2217

n = int(input())
rope = []
compare = []

for i in range(n) :
    rope.append(int(input()))

rope.sort()

for i in rope :
    sum = int(i*(n-rope.index(i)))
    if sum == 0 :
        sum = int(i)
    compare.append(sum)




print(max(compare))

=> 시간초과 코드

n = int(input())
rope = []
compare = []

for i in range(n) :
    rope.append(int(input()))

rope.sort(reverse=True)

for i in range(n) :
    compare.append(rope[i]*(i+1))

print(max(compare))
    

=> 정답코드

comment

1) 꼭 로프를 다사용하지않아도 되는게 킬포인트

2) 처음에 내림차순 정렬을 한다음에 인덱스를 이용했더니 시간초과가 떴다

3) 정렬 함수를 사용하는거에 익숙해질것. 일단 정렬하면 생각이 더욱 편해진다.

좋은 웹페이지 즐겨찾기