728x90
반응형

[Silver IV] ATM - 11399
[문제 링크](https://www.acmicpc.net/problem/11399)

🗝️오늘의 학습 키워드 (Keyword)
- 그리디 (greedy)
- 정렬
💻본인의 언어로 내용 정리 (Today I Learned)
각각의 사람마다 ATM에서 돈을 뽑는 시간이 다르다. 이들 모두가 ATM에서 돈을 뽑는데 걸리는 시간의 최소를 구하는 프로그램을 작성하는 것이 이번 문제이다.
테스트 케이스 [3, 1, 4, 3, 2] 의 경우에서 1, 2, 3, 4, 5 순서이면 39분이 걸리고, 2, 5, 1, 4, 3 순서이면 32분으로 최소가 된다고 한다.
즉, [1, 2, 3, 3, 4] 의 경우에서 1, 2, 3, 4, 5 순인 경우와 같다.
이 문제는 정렬만으로 90프로는 해결이 되는 문제이다.
🗒️제출 코드
# ATM
import sys
input = sys.stdin.readline
N = int(input())
time_list = list(map(int, input().split()))
time_list.sort() # 시간 순으로 정렬
time = 0
# 시간을 순차적으로 더해줌
for i in range(len(time_list)):
for j in range(i+1):
time += time_list[j]
print(time)
💭오늘의 회고
설계 자체는 단순한 문제였다. 시간의 전체 합을 구현하는 과정에서 조금 힘들었다.
1 + (1+2) + (1+2+3) + ... 을 구현하고 싶었는데 단순하면서도 복잡한 이 것이 참 어렵게 느껴졌었다...
⬇️전체 소스코드⬇️
hanghae99/python_middler/17일차 ATM/ATM.py at main · Do-heewan/hanghae99
개발자 커리어 개척 캠프 항해99 / 파이썬 미들러 노희완. Contribute to Do-heewan/hanghae99 development by creating an account on GitHub.
github.com
728x90
반응형
'Coding-Test > 항해99' 카테고리의 다른 글
| [99클럽 5기] 코딩테스트 스터디 19일차 TIL - 그리디 알고리즘 (2) | 2025.02.13 |
|---|---|
| [99클럽 5기] 코딩테스트 스터디 18일차 TIL - 우선순위 큐 (0) | 2025.02.12 |
| [99클럽 5기] 코딩테스트 스터디 16일차 TIL - 그리디 알고리즘 (1) | 2025.02.10 |
| [99클럽 5기] 코딩테스트 스터디 15일차 TIL - 백트래킹 (1) | 2025.02.09 |
| [99클럽 5기] 코딩테스트 스터디 14일차 TIL - 브루트포스 (2) | 2025.02.06 |