본문 바로가기

Algorithm_BOJ(백준)/그리디(Greedy Algorithm)

[백준 11399 Python파이썬] ATM

728x90
반응형

문제 링크

www.acmicpc.net/problem/11399

 

11399번: ATM

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

www.acmicpc.net

문제 접근

// 접근: 걸리는 시간의 최소합 -> 그리디

// 최소합이 되려면 앞의 사람의 시간일 수록 중복되는 횟수가 많아지니깐 앞에있는 사람일 수록 최소시간이어야 한다

 

 





 

문제 풀이

// 풀이: 벡터로 저장 후 정렬 후 최소합 구한다.

 

 

 

주의

 

 

개념

n = int(input())

lst =[int(input()) for _ in range(n)] #줄바꾸면서 여러개 입력

왜 안돼?

 

n = int(input())

lst = list(map(int,input().split())) # 한 줄에 띄어쓰면서 입력

이건 되는데??

 

소스코드

n = int(input())
lst = list(map(int,input().split())) # 한 줄에 띄어쓰면서 여러개 입력
lst.sort()
sumn=0
minnum=0
fori in range(n):
sumn+=lst[i]
minnum +=sumn
    
print(minnum)
반응형