티스토리 뷰

링크 : https://www.hackerrank.com/challenges/marcs-cakewalk/problem

 

문제>

마크는 컵케이크를 좋아하지만 체중을 유지 하고 싶다.

컵케이크 n개를 한꺼번에 먹고, 컵케이크 i번째의 칼로리는 Ci.

컵케이크를 먹은 후 마크는 적어도 (2의 j승 * C)만큼 컬어야한다.(j는 몇번째 먹는 컵케이크인지를 말한다.)

n개의 컵케이크 각각에 대한 개별 칼로리 수를 감안할 때 마크가 무게를 유지하기 위해 걸어야 하는 최소 마일수를 표기할 것.

컵케이크는 어떤 순서로든 먹을 수 있다.

 

 

 

해결방법.

먹을 수록 i가 늘어나고 2의 i승은 커져 곱했을 때 점점 마일수가 늘어나기 때문에 칼로리는 내림차순으로 정렬해줘야한다.

(마지막 칼로리가 제일 작아 2의 최종 지수승을 곱했을때 작기 위함)

받은 칼로리를 역순으로 정렬.

i번째 칼로리와 2의 i승의 곱을 miles과 누적으로 합을 구한다.

miles를 출력.

 

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
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
글 보관함