๋ฐฑ์ค€ | Baekjoon

[๋ฐฑ์ค€][12845] ๋ชจ๋‘์˜ ๋งˆ๋ธ” | ํŒŒ์ด์ฌ | ๊ทธ๋ฆฌ๋””(Greedy)

sungkshon 2024. 5. 22. 15:22
๋ฐ˜์‘ํ˜•

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

 

๐Ÿ‘‰ ๋ฌธ์ œ ๋ถ„์„

์ˆœ์„œ๊ฐ€ ๋งค๊ฒจ์ง„ ์—ฌ๋Ÿฌ์žฅ์˜ ์นด๋“œ๊ฐ€ ์žˆ๋‹ค.

๊ฐ๊ฐ์˜ ์นด๋“œ๋Š” ์ €๋งˆ๋‹ค ๋ ˆ๋ฒจ์ด ์žˆ๋‹ค.

์นด๋“œ ํ•ฉ์„ฑ์„ ํ•  ๋•Œ๋งˆ๋‹ค ๋‘ ์นด๋“œ ๋ ˆ๋ฒจ์˜ ํ•ฉ๋งŒํผ ๊ณจ๋“œ๋ฅผ ๋ฐ›๋Š”๋‹ค.

์นด๋“œ A์— B๋ฅผ ๋ง๋ถ™์ผ ์ˆ˜ ์žˆ๋‹ค.

์ด ๋•Œ ๋ถ™์ด๋Š” ์กฐ๊ฑด:

  1. ์ธ์ ‘ํ•œ ์นด๋“œ
  2. ์—…๊ทธ๋ ˆ์ด๋“œ ๋œ ์นด๋“œ A์˜ ๋ ˆ๋ฒจ์€ ๋ณ€ํ•˜์ง€ ์•Š๋Š”๋‹ค.

๐Ÿ‘‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์„ค๊ณ„

  1. ์นด๋“œ์˜ ๊ฐœ์ˆ˜ n๊ฐœ ์ž…๋ ฅ๋ฐ›๊ธฐ
  2. ์นด๋“œ ๋ ˆ๋ฒจ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ
  3. cards[0]์˜ ๋ ˆ๋ฒจ ์ˆ˜์— ๊ณ„์† ํ•ฉ์ณ์ง

๐Ÿ‘‰ ์ฝ”๋“œ

import sys

n = int(input())
cards = list(map(int, sys.stdin.readline().split()))

cards.sort(reverse=True)  # ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ

gold = 0
for i in range(1, n):
    gold += (cards[0] + cards[i])
print(gold)

 

์ธ์ ‘ํ•œ ์นด๋“œ๋งŒ ๋ง๋ถ™์ผ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ๋‹ค.

์–ด๋–ค ์นด๋“œ๋ฅผ ์ธ์ ‘ํ•˜๋˜ cards[0]์— ํ•ฉ์ณ์•ผ ์ตœ๋Œ€ ๊ณจ๋“œ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค (๋ ˆ๋ฒจ์ˆ˜๋Š” ๋ณ€ํ•˜์ง€ ์•Š์œผ๋‹ˆ). 

 

๐Ÿ‘‰ ์‹œ๊ฐ„๋ณต์žก๋„

O(N)

 

๐Ÿ‘‰ ๋А๋‚€์  or ๊ธฐ์–ตํ• ์ •๋ณด

๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์ „์— ์–ด๋–ป๊ฒŒ ์ ‘๊ทผํ•˜๊ณ  ๊ตฌํ˜„ํ•ด ๋‚˜๊ฐˆ์ง€ ๋” ๊ตฌ์ฒด์ ์œผ๋กœ ๊ณ ๋ฏผํ•ด๋ณด๊ณ  pseudocode๋ฅผ ์งœ๋ณด์ž!

๋ฐ˜์‘ํ˜•