개미의 개열시미 프로그래밍

[알고리즘] 백준11399 ATM - 파이썬 본문

알고리즘/그리디 & 구현

[알고리즘] 백준11399 ATM - 파이썬

YunHyeok 2021. 8. 17. 18:48
728x90
반응형

백준 단계별 풀기의 그리디 파트 세 번째 문제 ATM를 풀었고 쉬운 편이었고 정말 쉽게 풀 수 있었는데 괜히 어렵게 풀어버린 문제다.. 현타ㅜ

 

https://www.acmicpc.net/problem/11399

 

11399번: ATM

첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000)

www.acmicpc.net

 

 

[나의 풀이 코드]

from sys import stdin

n = int(input())
n_list = list(map(int, stdin.readline().split()))
n_list.sort()

sum = 0
result = 0
for i in range(n):
    if i-1 >= 0:
        sum = sum + n_list[i]
    else:
        sum = n_list[i]
    result += sum

print(result)

먼저 입력을 받고 sum 변수에는 누적되는 수를 result에 누적된 sum의 수를 더하는 방식으로 했다. 하지만 다른 분이 푼 코드를 보고 이게 멍청한 코드라는 걸 알았다..

 

[다른 분의 풀이 코드]

n = int(input())
s = list(map(int, input().split()))
num = 0
s.sort()
print(s)
for i in range(n):
    for j in range(i + 1):
        num += s[j]
print(num)

그냥 이렇게 하면 될껄 쓸데없이 변수를 추가하고 조건문까지 썼다니..ㅋㅋㅋ 공부 열심히 해야겠다!

 

728x90
반응형
Comments