티스토리 뷰

728x90
반응형

문제

www.acmicpc.net/problem/11399

 

11399번: ATM

첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000)

www.acmicpc.net

 

코드

N = int(input())

time = list(map(int, input().split()))
time.sort()
sum=0
for i in range(N):
    for j in range(i+1): # i가 0~4까지들어오기 때문에 +1을 해줘서 i가 0일떄도 for문이 돌아 가게 하고 j도 4까지 하기 위해 1을 더한 것이다
        sum += time[j]
print(sum)

 

코드설명

그리디 알고리즘으로 문제를 풀었다.

입력값들을 정렬 시켜준다음 이중for문을 돌려서 예제 입력값 [1,2,3,3,4] 가 있을때

1+3+6+9+13을 출력해준다.

 

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
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