알고리즘
[백준] 11399 (탐욕법)
u0jin
2020. 8. 22. 21:40
https://www.acmicpc.net/problem/11399
# 사람의 수 입력 받음
n = int(input())
# 각 사람이 돈을 인출하는데 걸리는 시간
time = list(map(int, input().split()))
# 오름차순으로 정렬함
time.sort()
# 소요된 시간을 저장할 리스트
s = []
# 소요된 시간을 저장할 변수
result = 0
for i in time:
result += i
s.append(result)
print(sum(s))
그냥 간단하게 소요된 시간을 모두 합했을때, 최솟값을 구하라고 요구하였으니,
우선 오름차순으로 정렬할 필요가있다고 생각하였다.
그래야 모두 더했을때 최솟값이 나오기때문에 일단 정렬을 하고,
각 사람마다 걸리는 시간을 하나의 리스트 안에 저장한후,
모든 요소를 더하여 출력하도록 하였다.
비슷한 방법으로 C언어로 작성하였을때,
파이썬보다 훨씬 코드는 길지만, 시간과 메모리 사용량은 적다는것을 알수 있었다.
근데 난 파이썬도 좀 익숙해져야할것같다.
익숙한건 C나 C++ 이지만 사실 코딩테스트를 준비할때 파이썬이 훨씬 유리하다고 생각한다.