코딩테스트/백준
boj11399 ATM (실버4) - Greedy
개발자딥게
2022. 8. 7. 22:56
반응형
백준 문제 링크
https://www.acmicpc.net/problem/11399
11399번: ATM
첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000)
www.acmicpc.net
탐욕알고리즘(Greedy Algorithm)이란
최적의 해에 가까운 값을 구하기 위해 사용되는 알고리즘으로,
여러 경우 중에서 하나를 선택해야할 때마다 매 순간 최적이라고 생각되는 경우를 선택하는 방식이다.
내 풀이
현재 시점에서 가장 최선인 것 = 오름차순으로 정렬
# boj11399 ATM (Greedy)
# 난이도 실버4
# 내 풀이 (68ms)
import sys
n = int(sys.stdin.readline())
line = list(map(int, sys.stdin.readline().split()))
# 현재 시점에서 가장 최선인 것 = 오름차순으로 정렬
line.sort()
waiting_time = 0
result = list()
sum = 0
for l in line:
waiting_time = waiting_time + l
result.append(waiting_time)
for i in result:
sum += i
print(sum)
# 두번째 풀이 (132ms)
# import sys
# N = int(sys.stdin.readline())
# seconds = list(map(int, sys.stdin.readline().split()))
#
# # 현재 시점에서 가장 최선인 것 = 오름차순으로 정렬
# seconds.sort()
#
# minimum = 0
#
# for i in range(N):
# for j in range(i + 1):
# minimum += seconds[j]
# print(minimum)
https://github.com/yj0903/python_CodingTest/blob/main/Algorithms/Greedy/boj11399.py
GitHub - yj0903/python_CodingTest: python_problemSolving
python_problemSolving. Contribute to yj0903/python_CodingTest development by creating an account on GitHub.
github.com
반응형