최소값을 구하려면 우선, 시간을 오름차순으로 나열하는 것이 관건이다.
처음에는 map 함수를 통해서 여러개의 값을 받는 것을 list화 시켜서 정렬(sort)을 해야 하는데,
사용자에게 여러개의 값을 입력받을 때 number 값을 이용하는 줄 알고 애를 먹었다.
자바같은 언어에서는 보통 number 같은 변수를 입력 받아 for문을 돌면서 배열에 값을 넣어주기 때문이다.
하지만, 사용자에게 입력 받은 number는 나중에 값을 하나씩 더할 때 사용되는 것이고,
사용자에게 차례로 입력받은 값을 리스트에 넣으려면 그냥 map함수를 list() 해주면 됐다.
그리고 정렬을 할 때는 맨 처음에 애를 먹었던 것이
number = int(input())
time_list = map(int, input().split())
list(time_list)
time_list.sort()
이렇게 따로 했는데, map object 어딘가에서 오류가 발생했다. 애초에 map 함수로 값을 입력받을 때 list 화를 먼저 시켜야 겠다.
(최종코드-python)
number = int(input())
time_list = list(map(int, input().split()))
time_list.sort()
min = 0
for i in range(0, number+1):
for time in time_list[:i]:
min += time
print(min)
또한, 최종코드에 도달하기 전에 range(number+1) 을 하지 않고 range(number)를 해서 처음에는 값이 다르게 나왔다. time_list[:i] 이므로 마지막 원소값 까지 계산을 하려면, i는 number+1 이어야 한다.
반응형
'컴퓨터 공부 > 📚 Baekjoon(백준)' 카테고리의 다른 글
[백준/알고리즘/python/java] 9375번 - 패션왕 신해빈 (0) | 2021.02.10 |
---|---|
[백준/알고리즘/python/java] 13305번 - 주유소 (0) | 2021.02.09 |
[백준/알고리즘/python/java] 11047번 - 동전 0 (0) | 2021.02.02 |
[백준/알고리즘/python/java] 1978번 - 소수 찾기 (0) | 2021.01.28 |
[백준/알고리즘/python/java] 2839번 - 설탕 배달 (0) | 2021.01.28 |