๐Ÿ’œ[์•Œ๊ณ ๋ฆฌ์ฆ˜] 1. ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜

1.๊ฐœ๋…๋ฌธ์ œ

1.1.ํฐ์ˆ˜์˜ ๋ฒ•์น™

: ๋ฐฐ์—ด์˜ ํฌ๊ธฐ N, ์ˆซ์ž๊ฐ€ ๋”ํ•ด์ง€๋Š” ํšŸ์ˆ˜ M, ๊ทธ๋ฆฌ๊ณ  k๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ, ์ฃผ์–ด์ง„ ์ˆ˜๋“ค์„ M๋ฒˆ ๋”ํ•˜์—ฌ ๊ฐ€์žฅ ํฐ ์ˆ˜๋ฅผ ๋งŒ๋“œ๋Š” ๋ฒ•์น™.

๋ฐฐ์—ด์˜ ํŠน์ •ํ•œ ์ธ๋ฑ์Šค์— ํ•ด๋‹นํ•˜๋Š” ์ˆ˜๊ฐ€ ์—ฐ์†ํ•ด์„œ k๋ฒˆ์„ ์ดˆ๊ณผํ•˜์—ฌ ๋”ํ•ด์งˆ ์ˆ˜ ์—†์Œ.

  • ์ž…๋ ฅ ์กฐ๊ฑด:

[1] N, M, K์˜ ์ž์—ฐ์ˆ˜,๊ตฌ๋ถ„: ๊ณต๋ฐฑ

[2] N๊ฐœ์˜ ์ž์—ฐ์ˆ˜, ๊ตฌ๋ถ„: ๊ณต๋ฐฑ

map(๋ณ€ํ™˜ํ•จ์ˆ˜, ์ˆœํšŒ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ)

๋‹จ์ˆœํžˆ ๊ฐ€์žฅ ํฐ์ˆ˜์™€ ์ž‘์€ ์ˆ˜ ๋ฐ˜๋ณตํ•ด์„œ ๋”ํ•˜๊ธฐ

n,m,k = map(int,input().split())
# ๋ฐฐ์—ดํฌ๊ธฐ:5, ๋”ํ•ด์ง€๋Š” ํšŸ์ˆ˜:8, ์—ฐ์†ํ•ด์„œ ๋”ํ•ด์งˆ ์ˆ˜ ์žˆ๋Š” ํšŸ์ˆ˜:3
nlist=list(map(int,input().split()))
# 2,4,5,4,6
nlist.sort(reverse=True)
print(nlist)
first=nlist[0]
second=nlist[1]
result = 0
5 8 3
2 4 5 4 6
[6, 5, 4, 4, 2]

while True:
    for i in range(k):
        if m ==0:
            break
        result += first
        m -= 1
    if m==0:
        break
    result +=second
    m-=1

print(result)
0

์กฐ๊ธˆ ๋” ์ƒ๊ฐํ•ด์„œ ์ตœ์ ํ™” ํ•˜๊ธฐ

  • ๋ฐ˜๋ณต๋˜๋Š” ์ˆ˜์—ด์˜ ๊ธธ์ด : (K+1)
  • ๋ฐ˜๋ณต๋˜๋Š” ํšŸ์ˆ˜: M//(K+1)
  • ๊ฐ€์žฅ ํฐ ์ˆ˜๊ฐ€ ๋“ฑ์žฅํ•˜๋Š” ํšŸ์ˆ˜ :

[์ˆ˜์—ด์ด ๋ฐ˜๋ณต๋˜๋Š” ํšŸ์ˆ˜ * k] + [M์ด (K+1)๋กœ ๋‚˜๋ˆ„์–ด๋–จ์–ด์ง€์ง€ ์•Š๋Š” ๊ฒฝ์šฐ]

M์ด (K+1)๋กœ ๋‚˜๋ˆ„์–ด๋–จ์–ด์ง€์ง€ ์•Š๋Š” ๊ฒฝ์šฐ
M์„ (K+1)๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋งŒํผ ๊ฐ€์žฅ ํฐ ์ˆ˜๊ฐ€ ์ถ”๊ฐ€๋กœ ๋”ํ•ด ์ง.

M // ( K + 1 ) * K + M % (K+1)

n,m,k = map(int,input().split())
# ๋ฐฐ์—ดํฌ๊ธฐ:5, ๋”ํ•ด์ง€๋Š” ํšŸ์ˆ˜:8, ์—ฐ์†ํ•ด์„œ ๋”ํ•ด์งˆ ์ˆ˜ ์žˆ๋Š” ํšŸ์ˆ˜:3
nlist=list(map(int,input().split()))
# 2,4,5,4,6
nlist.sort(reverse=True)
print(nlist)
first=nlist[0]
second=nlist[1]
result = 0

count = int(m/(k+1))*k
count += m %(k+1)

result = 0
result +=(count)*first
result +=(m-count)*second
print(result)
5 8 3
2 4 5 4 6
[6, 5, 4, 4, 2]
46

1.2.์ˆซ์ž ์นด๋“œ ๊ฒŒ์ž„

์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ˆซ์ž ์นด๋“œ ์ค‘์—์„œ ๊ฐ€์žฅ ๋†’์€ ์ˆซ์ž๊ฐ€ ์“ฐ์ธ ์นด๋“œ ํ•œ ์žฅ์„ ๋ฝ‘๋Š” ๊ฒŒ์ž„.

  • N * M : ํ–‰ x ์—ด
  • ๋ฝ‘๊ณ ์ž ํ•˜๋Š” ์นด๋“œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š” ํ–‰์„ ์„ ํƒํ•œ๋‹ค.
  • ์„ ํƒ๋œ ํ–‰์— ํฌํ•จ๋œ ์นด๋“œ๋“ค ์ค‘ ๊ฐ€์žฅ ์ˆซ์ž๊ฐ€ ๋‚ฎ์€ ์นด๋“œ๋ฅผ ๋ฝ‘๋Š”๋‹ค
  • ์ดํ›„์— ํ•ด๋‹น ํ–‰์—์„œ ๊ฐ€์žฅ ์ˆซ์ž๊ฐ€ ๋‚ฎ์€ ์นด๋“œ๋ฅผ ๋ฝ‘์„ ๊ฒƒ์„ ๊ณ ๋ คํ•˜์—ฌ ์ตœ์ข…์ ์œผ๋กœ ๊ฐ€์žฅ ๋†’์€ ์ˆซ์ž์˜ ์นด๋“œ๋ฅผ ๋ฝ‘์„ ์ˆ˜ ์žˆ๋„๋ก ์ „๋žต์„ ์„ธ์šด๋‹ค.
n, m = map(int,input().split()) #ํ–‰ ์—ด

min_max=list()

result=0
for i in range(n):
    linecard = list(map(int,input().split()))
    min_x=min(linecard)
    result = max(result,min_x) # ๊ธฐ์กด์˜ ๊ฒƒ๊ณผ ํ˜„์žฌ์˜ ๊ฒƒ์„ ๋น„๊ต
print(result)
1 4
4 3
1 5
3

์ข‹์€ ์›นํŽ˜์ด์ง€ ์ฆ๊ฒจ์ฐพ๊ธฐ