๐ŸŒฑ → ๐ŸŒณ

[Baekjoon] 1715๋ฒˆ : ์นด๋“œ ์ •๋ ฌํ•˜๊ธฐ python ๋ณธ๋ฌธ

์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

[Baekjoon] 1715๋ฒˆ : ์นด๋“œ ์ •๋ ฌํ•˜๊ธฐ python

BAY 2023. 5. 30. 13:21
728x90

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

 

1715๋ฒˆ: ์นด๋“œ ์ •๋ ฌํ•˜๊ธฐ

์ •๋ ฌ๋œ ๋‘ ๋ฌถ์Œ์˜ ์ˆซ์ž ์นด๋“œ๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•˜์ž. ๊ฐ ๋ฌถ์Œ์˜ ์นด๋“œ์˜ ์ˆ˜๋ฅผ A, B๋ผ ํ•˜๋ฉด ๋ณดํ†ต ๋‘ ๋ฌถ์Œ์„ ํ•ฉ์ณ์„œ ํ•˜๋‚˜๋กœ ๋งŒ๋“œ๋Š” ๋ฐ์—๋Š” A+B ๋ฒˆ์˜ ๋น„๊ต๋ฅผ ํ•ด์•ผ ํ•œ๋‹ค. ์ด๋ฅผํ…Œ๋ฉด, 20์žฅ์˜ ์ˆซ์ž ์นด๋“œ ๋ฌถ์Œ๊ณผ 30์žฅ

www.acmicpc.net

 

์„ค๊ณ„ ๋ฐฉ๋ฒ•

๋น„๊ต ํšŸ์ˆ˜๊ฐ€ ๊ฐ€์žฅ ์ž‘์œผ๋ ค๋ฉด ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’๋“ค๋ถ€ํ„ฐ ๋จผ์ € ๊ณ„์‚ฐํ•ด์•ผ ํ•œ๋‹ค.

๋‹จ ํ•˜๋‚˜์˜ ๊ฐ’์ด ๋‚จ์„ ๋•Œ๊นŒ์ง€ ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’ 2๊ฐœ๋ฅผ ๊ณ„์‚ฐ, ์ถ”๊ฐ€ ๊ทธ๋ฆฌ๊ณ  ์ €์žฅ์„ ๋ฐ˜๋ณตํ•œ๋‹ค.

์ผ๋ฐ˜์ ์ธ ๋ฐฐ์—ด๋กœ ์ฒ˜๋ฆฌํ•  ๊ฒฝ์šฐ ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

์ •๋ ฌํ•˜๋Š” ๊ณผ์ •์„ ์šฐ์„ ์ˆœ์œ„ ํ์— ๋งก๊ฒจ์ฃผ๋ฉด ํ•ด๊ฒฐ 

 

์ฝ”๋“œ

์‹œ๊ฐ„์ดˆ๊ณผ ์ฝ”๋“œ

import sys
input = sys.stdin.readline

n = int(input())

card = []
for i in range(n):
  card.append(int(input()))

sub = 0
card.sort()
for i in range(1,n):
  sub += sum(card[:i+1])

print(sub)

 

ํ‹€๋ ธ์Šต๋‹ˆ๋‹ค..

import sys
input = sys.stdin.readline

n = int(input())

card = []
for i in range(n):
  card.append(int(input()))

sub = [0] * (n+1)
card.sort()

sub[0] = card[0]
for i in range(1,n):
  sub[i] = sub[i-1] + card[i]

print(sum(sub[1:]))

 

๐Ÿ”ซ ์ •๋‹ต ์ฝ”๋“œ 

์šฐ์„ ์ˆœ์œ„ํ๋กœ ํ‘ธ๋Š”๊ฑฐ์˜€์Œ ใ… ใ…  

import heapq
import sys
input = sys.stdin.readline

n = int(input())
card = [int(input()) for _ in range(n)]
heapq.heapify(card)

c = 0
s = 0

while len(card) > 1:
  n1 = heapq.heappop(card)
  n2 = heapq.heappop(card)
  c = n1 + n2
  s += c
  heapq.heappush(card, c)

print(s)

 

 

728x90