[Python] ๋ฐฑ์ค€ 2798 - ๋ธ”๋ž™์žญ

2020. 9. 15. 02:39ยทAlgorithm

๋ฌธ์ œ

์นด์ง€๋…ธ์—์„œ ์ œ์ผ ์ธ๊ธฐ ์žˆ๋Š” ๊ฒŒ์ž„ ๋ธ”๋ž™์žญ์˜ ๊ทœ์น™์€ ์ƒ๋‹นํžˆ ์‰ฝ๋‹ค. ์นด๋“œ์˜ ํ•ฉ์ด 21์„ ๋„˜์ง€ ์•Š๋Š” ํ•œ๋„ ๋‚ด์—์„œ, ์นด๋“œ์˜ ํ•ฉ์„ ์ตœ๋Œ€ํ•œ ํฌ๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒŒ์ž„์ด๋‹ค. ๋ธ”๋ž™์žญ์€ ์นด์ง€๋…ธ๋งˆ๋‹ค ๋‹ค์–‘ํ•œ ๊ทœ์ •์ด ์žˆ๋‹ค.

ํ•œ๊ตญ ์ตœ๊ณ ์˜ ๋ธ”๋ž™์žญ ๊ณ ์ˆ˜ ๊น€์ •์ธ์€ ์ƒˆ๋กœ์šด ๋ธ”๋ž™์žญ ๊ทœ์น™์„ ๋งŒ๋“ค์–ด ์ƒ๊ทผ, ์ฐฝ์˜์ด์™€ ๊ฒŒ์ž„ํ•˜๋ ค๊ณ  ํ•œ๋‹ค.

๊น€์ •์ธ ๋ฒ„์ „์˜ ๋ธ”๋ž™์žญ์—์„œ ๊ฐ ์นด๋“œ์—๋Š” ์–‘์˜ ์ •์ˆ˜๊ฐ€ ์“ฐ์—ฌ ์žˆ๋‹ค. ๊ทธ๋‹ค์Œ, ๋”œ๋Ÿฌ๋Š” N์žฅ์˜ ์นด๋“œ๋ฅผ ๋ชจ๋‘ ์ˆซ์ž๊ฐ€ ๋ณด์ด๋„๋ก ๋ฐ”๋‹ฅ์— ๋†“๋Š”๋‹ค. ๊ทธ๋Ÿฐ ํ›„์— ๋”œ๋Ÿฌ๋Š” ์ˆซ์ž M์„ ํฌ๊ฒŒ ์™ธ์นœ๋‹ค.

์ด์ œ ํ”Œ๋ ˆ์ด์–ด๋Š” ์ œํ•œ๋œ ์‹œ๊ฐ„ ์•ˆ์— N์žฅ์˜ ์นด๋“œ ์ค‘์—์„œ 3์žฅ์˜ ์นด๋“œ๋ฅผ ๊ณจ๋ผ์•ผ ํ•œ๋‹ค. ๋ธ”๋ž™์žญ ๋ณ€ํ˜• ๊ฒŒ์ž„์ด๊ธฐ ๋•Œ๋ฌธ์—, ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ๊ณ ๋ฅธ ์นด๋“œ์˜ ํ•ฉ์€ M์„ ๋„˜์ง€ ์•Š์œผ๋ฉด์„œ M๊ณผ ์ตœ๋Œ€ํ•œ ๊ฐ€๊น๊ฒŒ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค.

N์žฅ์˜ ์นด๋“œ์— ์จ์ ธ ์žˆ๋Š” ์ˆซ์ž๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, M์„ ๋„˜์ง€ ์•Š์œผ๋ฉด์„œ M์— ์ตœ๋Œ€ํ•œ ๊ฐ€๊นŒ์šด ์นด๋“œ 3์žฅ์˜ ํ•ฉ์„ ๊ตฌํ•ด ์ถœ๋ ฅํ•˜์‹œ์˜ค.

 

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ์นด๋“œ์˜ ๊ฐœ์ˆ˜ N(3 ≤ N ≤ 100)๊ณผ M(10 ≤ M ≤ 300,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ์นด๋“œ์— ์“ฐ์—ฌ ์žˆ๋Š” ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง€๋ฉฐ, ์ด ๊ฐ’์€ 100,000์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค. ํ•ฉ์ด M์„ ๋„˜์ง€ ์•Š๋Š” ์นด๋“œ 3์žฅ์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๋งŒ ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค.

 

์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— M์„ ๋„˜์ง€ ์•Š์œผ๋ฉด์„œ M์— ์ตœ๋Œ€ํ•œ ๊ฐ€๊นŒ์šด ์นด๋“œ 3์žฅ์˜ ํ•ฉ์„ ์ถœ๋ ฅํ•œ๋‹ค.


์ •๋‹ต

from itertools import combinations

n, m = map(int, input().split())
card = list(map(int, input().split()))

max = 0
for c in combinations(card, 3):
    s = sum(c)
    if s <= m and max < s:
        max = s

print(max)

ํŒŒ์ด์ฌ์—์„œ๋Š” ์‰ฝ๊ฒŒ ์กฐํ•ฉ์„ ๊ตฌํ• ์ˆ˜ ์žˆ๋‹ค. ์•„๋ž˜์˜ ์ฐธ๊ณ ๋Š” ์ด์— ๋Œ€ํ•œ ์˜ˆ์‹œ์ด๋‹ค.

 

์ฐธ๊ณ 

from itertools import combinations
a = [1, 2, 3, 4, 5]
print(list(combinations(a, 2)))

#[(1, 2), (1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5), (3, 4), (3, 5), (4, 5)]

 

 

๋˜ ๋‹ค๋ฅธ ์ •๋‹ต

n, m = map(int, input().split())
card = list(map(int, input().split()))

max = 0

for i in range(0, n-2):
    for j in range(i+1, n-1):
        for k in range(j+1, n):
            sum = card[i] + card[j] + card[k]
            if sum <= m and max < sum:
                max = sum
print(max)

์‚ผ์ค‘ for๋ฌธ์„ ์ด์šฉํ•œ ํ’€์ด ๋ฐฉ๋ฒ•์ด๋‹ค.

 

'Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Python] ๋ฐฑ์ค€ 2581 - ์†Œ์ˆ˜  (0) 2020.09.18
[Python] ๋ฐฑ์ค€ 1929 - ์†Œ์ˆ˜ ๊ตฌํ•˜๊ธฐ  (0) 2020.09.17
[Python] ๋ฐฑ์ค€ 5893 - 17๋ฐฐ  (0) 2020.09.13
[Python] ๋ฐฑ์ค€ 2309 - ์ผ๊ณฑ๋‚œ์Ÿ์ด  (0) 2020.09.10
[Python] ๋ฐฑ์ค€ 2609 - ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜์™€ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜  (0) 2020.09.08
'Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [Python] ๋ฐฑ์ค€ 2581 - ์†Œ์ˆ˜
  • [Python] ๋ฐฑ์ค€ 1929 - ์†Œ์ˆ˜ ๊ตฌํ•˜๊ธฐ
  • [Python] ๋ฐฑ์ค€ 5893 - 17๋ฐฐ
  • [Python] ๋ฐฑ์ค€ 2309 - ์ผ๊ณฑ๋‚œ์Ÿ์ด
๐ŸฅญMango
๐ŸฅญMango
  • ๐ŸฅญMango
    AppleMango๐Ÿฅญ
    ๐ŸฅญMango
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ
      • iOS
        • Swift
        • SwiftUI
        • RxSwift
      • Algorithm
        • C
        • Python
        • Swift
      • Computer Science
        • ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ
        • OS
      • ...
      • ๊ฐœ๋ฐœ ํƒ€์ž„์บก์А
        • Python
        • Flutter
        • Android
        • Kotlin
        • Java
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    SwiftUI Apple Login
    ํŒŒ์ด์ฌ
    ์—ญ์‚ฌ ํŒŒ์ด์ฌ
    ํ† ๋งˆํ† 
    swiftUI Gradients
    ์ฝ”ํ‹€๋ฆฐ ์ƒ์†
    Custom Map Marker
    ๋ฐฑ์ค€ ์†Œ์ˆ˜
    6118
    1613 ํŒŒ์ด์ฌ
    MapMarker
    ํŒŒ์ด์ฌ 1459
    ๋ฐฑ์ค€ ํ† ๋งˆํ† 
    SwiftUI
    IOS
    Code Base
    ํŒŒ์ด์ฌ 14503
    14503 ๋กœ๋ด‡์ฒญ์†Œ๊ธฐ
    ์Šคํƒ
    ํŒŒ์ด์ฌ 6118
    1613 ์—ญ์‚ฌ
    typing animation
    ํŒŒ์ด์ฌ ํ† ๋งˆํ† 
    Swift Hello World!
    swiftUI tabview
    1์ฐจ์› ๋ฟŒ์š”๋ฟŒ์š”
    ์ฝ”ํ‹€๋ฆฐ
    14503 ํŒŒ์ด์ฌ
    Apple Login
    ํŒŒ์ด์ฌ ์ •๋ ฌ
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.2
๐ŸฅญMango
[Python] ๋ฐฑ์ค€ 2798 - ๋ธ”๋ž™์žญ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”