공부/백준
백준 11399번 ATM
Cow_Hacker
2020. 8. 31. 10:02
728x90
백준 문제 ATM을 풀어 볼려고 한다.
처음에 문제 이해 하기가 좀 햇갈렸다.
사람 순서, 시간 순서 이 두개가 너무나도 햇갈려하는 나였다.
a = int(input()) # 처음 사람의 수를 a에 받아둔다.
timelist = list(map(int, input().split())) # 사람마다 걸리는 시간들을 리스트로 한번에 받아둔다.
s = 0 # 걸리는 시간을 합치기 위한 초기 값이다.
slist = [] # 걸린 시간을 리스트에 담기위한 리스트다.
while True: # while문의 무한루프를 생성한다.
timelist = sorted(timelist) # 걸리는 시간들의 리스트를 오름차순으로 정렬시킨다.
s += timelist[0] # 가장 작은 시간인 0번째 원소를 s에 더해나간다.
slist.append(s) # s에 더해간 값 하나하나를 slist에 추가한다.
del(timelist[0]) # 한번 쓴 가장 작은시간은 삭제한다.
if len(timelist) == 0: # 반복 작업후 걸린 시간들의 리스트 길이가 0이면 진입한다.
print(sum(slist)) # slist의 모든 원소를 더한 값을 출력한다.
break # while문의 무한루프를 종료한다.
728x90