#2798 ๋ธ”๋ž™์žญ๐Ÿ–ค

sso0_zยท2023๋…„ 3์›” 14์ผ
0

๋ฐฑ์ค€

๋ชฉ๋ก ๋ณด๊ธฐ
36/40

๋ฌธ์ œ๐Ÿ“


๊ฒฐ๊ณผ๐Ÿ˜


์ฝ”๋“œ๐Ÿ’ป

n,m = map(int,input().split())
a = list(map(int,input().split()))
res = 0

for i in range(n):
  for j in range(i+1,n):
    for k in range(j+1,n):
      if a[i]+a[j]+a[k] > m:
        continue
      else:
        res = max(res, a[i]+a[j]+a[k])

print(res)

ํ’€์ด๐Ÿ’ก

  1. n, m์„ ์ž…๋ ฅ๋ฐ›์•„ int๋กœ ๋ณ€ํ™˜
  2. ์นด๋“œ์— ์“ฐ์—ฌ ์žˆ๋Š” ์ˆ˜๋“ค์„ list๋กœ ์ €์žฅ
  3. ๋ฌธ์ œ์— ๋งž๋Š” ์ˆ˜๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ๋ณ€์ˆ˜ res ์„ ์–ธ
  4. 3๊ฐœ์˜ ์นด๋“œ๋ฅผ ๋ฝ‘๊ณ  ์ด์— ๋Œ€ํ•œ ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์‚ดํŽด๋ณด๊ธฐ ์œ„ํ•ด 3์ค‘ for๋ฌธ์„ ์‚ฌ์šฉ
  5. ๊ฐ ๋”ํ•œ ๊ฐ’์ด m๋ณด๋‹ค ํฐ ๊ฒฝ์šฐ, continue
  6. m๋ณด๋‹ค ํฌ์ง€ ์•Š์€ ๊ฒฝ์šฐ, res์™€ ๋น„๊ตํ•˜์—ฌ ํฐ ๊ฐ’์„ ์ €์žฅ
    => ๋ฐ˜๋ณต๋ฌธ์„ ๋ฐ˜๋ณตํ•˜๋‹ค ๋ณด๋ฉด, res ๋ฒผ์ˆ˜์—๋Š” m์˜ ๊ฐ’ ๋˜๋Š” m์— ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ฐ’์ด ์ €์žฅ

์ฐธ๊ณ ๐Ÿ™

๐Ÿ‘‰ [๋ฐฑ์ค€] 2798๋ฒˆ: ๋ธ”๋ž™์žญ - ํŒŒ์ด์ฌ

profile
์ฑ„์†Œ

0๊ฐœ์˜ ๋Œ“๊ธ€