Post
ATM(λ°±μ€€ 11399번) | Gihun Son

ATM(λ°±μ€€ 11399번)

πŸ’‘ **Check Point !

(Β ν•΄λ‹Ήμ‚¬ν•­Β βœ“μ²΄ν¬Β )

  1. λ§‰νž˜ 없이 μˆ˜μ›”ν•˜κ²Œ ν’€λ¦° λ¬Έμ œμΈκ°€? βœ“

  2. 1μ‹œκ°„μ΄λ‚΄λ‘œ ν’€λ Έλ˜ λ¬Έμ œμΈκ°€?

  3. 1μ‹œκ°„ 이상 or 며칠을 두고 ν’€μ–΄λ΄€λ”λ‹ˆ ν’€λ¦° λ¬Έμ œμΈκ°€?

  4. μ‹œκ°„μ„ 써도 도무지 ν’€ 수 μ—†λŠ” λ¬Έμ œμΈκ°€?

  5. μ†”λ£¨μ…˜μ„ μ°Ύμ•„λ΄€λŠ”κ°€?


λ‚œμ΄λ„ 체감

  1. μ΅œμƒ

  2. 상

  3. 쀑

  4. ν•˜βœ“


이해도

  1. μ™„λ²½νžˆ μ΄ν•΄βœ“

  2. λ‹€μ†Œ ν—·κ°ˆλ¦¬λŠ” 뢀뢄듀이 있음

  3. 이해 λͺ»ν•¨

문제

μΈν•˜μ€ν–‰μ—λŠ” ATM이 1λŒ€λ°–μ— μ—†λ‹€. μ§€κΈˆ 이 ATMμ•žμ— Nλͺ…μ˜ μ‚¬λžŒλ“€μ΄ 쀄을 μ„œμžˆλ‹€. μ‚¬λžŒμ€ 1λ²ˆλΆ€ν„° Nλ²ˆκΉŒμ§€ λ²ˆν˜Έκ°€ 맀겨져 있으며, iλ²ˆΒ μ‚¬λžŒμ΄ λˆμ„ μΈμΆœν•˜λŠ”λ° κ±Έλ¦¬λŠ” μ‹œκ°„μ€ Pi뢄이닀.

μ‚¬λžŒλ“€μ΄ 쀄을 μ„œλŠ” μˆœμ„œμ— λ”°λΌμ„œ, λˆμ„ μΈμΆœν•˜λŠ”λ° ν•„μš”ν•œ μ‹œκ°„μ˜ 합이 λ‹¬λΌμ§€κ²Œ λœλ‹€. 예λ₯Ό λ“€μ–΄, 총 5λͺ…이 있고, P1Β = 3, P2Β = 1, P3Β = 4, P4Β = 3, P5Β = 2 인 경우λ₯Ό μƒκ°ν•΄λ³΄μž. [1, 2, 3, 4, 5] μˆœμ„œλ‘œ 쀄을 μ„ λ‹€λ©΄, 1번 μ‚¬λžŒμ€ 3λΆ„λ§Œμ— λˆμ„ 뽑을 수 μžˆλ‹€. 2번 μ‚¬λžŒμ€ 1번 μ‚¬λžŒμ΄ λˆμ„ 뽑을 λ•Œ κΉŒμ§€ κΈ°λ‹€λ €μ•Ό ν•˜κΈ° λ•Œλ¬Έμ—, 3+1 = 4뢄이 걸리게 λœλ‹€. 3번 μ‚¬λžŒμ€ 1번, 2번 μ‚¬λžŒμ΄ λˆμ„ 뽑을 λ•ŒκΉŒμ§€ κΈ°λ‹€λ €μ•Ό ν•˜κΈ° λ•Œλ¬Έμ—, 총 3+1+4 = 8뢄이 ν•„μš”ν•˜κ²Œ λœλ‹€. 4번 μ‚¬λžŒμ€ 3+1+4+3 = 11λΆ„, 5번 μ‚¬λžŒμ€ 3+1+4+3+2 = 13뢄이 걸리게 λœλ‹€. 이 κ²½μš°μ— 각 μ‚¬λžŒμ΄ λˆμ„ μΈμΆœν•˜λŠ”λ° ν•„μš”ν•œ μ‹œκ°„μ˜ 합은 3+4+8+11+13 = 39뢄이 λœλ‹€.

쀄을 [2, 5, 1, 4, 3] μˆœμ„œλ‘œ 쀄을 μ„œλ©΄, 2번 μ‚¬λžŒμ€ 1λΆ„λ§Œμ—, 5번 μ‚¬λžŒμ€ 1+2 = 3λΆ„, 1번 μ‚¬λžŒμ€ 1+2+3 = 6λΆ„, 4번 μ‚¬λžŒμ€ 1+2+3+3 = 9λΆ„, 3번 μ‚¬λžŒμ€ 1+2+3+3+4 = 13뢄이 걸리게 λœλ‹€. 각 μ‚¬λžŒμ΄ λˆμ„ μΈμΆœν•˜λŠ”λ° ν•„μš”ν•œ μ‹œκ°„μ˜ 합은 1+3+6+9+13 = 32뢄이닀. 이 방법보닀 더 ν•„μš”ν•œ μ‹œκ°„μ˜ 합을 μ΅œμ†Œλ‘œ λ§Œλ“€ μˆ˜λŠ” μ—†λ‹€.

쀄을 μ„œ μžˆλŠ” μ‚¬λžŒμ˜ 수 Nκ³Ό 각 μ‚¬λžŒμ΄ λˆμ„ μΈμΆœν•˜λŠ”λ° κ±Έλ¦¬λŠ” μ‹œκ°„ Piκ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, 각 μ‚¬λžŒμ΄ λˆμ„ μΈμΆœν•˜λŠ”λ° ν•„μš”ν•œ μ‹œκ°„μ˜ ν•©μ˜ μ΅œμ†Ÿκ°’μ„ κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

Untitled

λ‚˜μ˜ 풀이

1
2
3
4
5
6
7
8
9
N=int(input())
line=list(map(int,input().split()))
line.sort()
answer=0
total_time=0
for p in line:
    total_time+=p
    answer+=total_time
print(answer)
  • μ•žμ— μ†Œμš”μ‹œκ°„μ΄ 적은 μ‚¬λžŒμ΄ μ„€ 수둝 μœ λ¦¬ν•˜λ‹€. λ”°λΌμ„œ μ†Œμš” μ‹œκ°„μ΄ 적은 순으둜 μ •λ ¬ν•˜μ˜€κ³ , 각 μ‚¬λžŒμ΄ κΈ°λ‹€λ¦° μ‹œκ°„μ„ ν¬ν•¨ν•œ 총 μ†Œμš” μ‹œκ°„μ„ κ³„μ‚°ν•˜κ³  total_time에 더해쀀닀.
This post is licensed under CC BY 4.0 by the author.