๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm/๋ฐฑ์ค€

[๋ฐฑ์ค€] 2798 ๋ธ”๋ž™์žญ (ํŒŒ์ด์ฌ/python)

by chjcoder 2023. 6. 19.

๐ŸŽˆ๋ฌธ์ œ

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

 

๐ŸŽ์–ด๋–ค ์•Œ๊ณ ๋ฆฌ์ฆ˜?

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

2. ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋‹ค ๋”ฐ์ ธ๋ณด๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ธฐ๋ฒ•์„ ๋ถ€๋ฅดํŠธํฌ์Šค ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ผ๊ณ  ํ•˜๋Š”๋ฐ, ๊ฑฐ์ฐฝํ•œ๊ฑฐ ์—†์ด ๊ทธ๋ƒฅ ํŒŒ์ด์ฌ ๋‚ด์žฅ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

3. ์ด ๋ฌธ์ œ์˜ ๊ฒฝ์šฐ, 3์žฅ์˜ "ํ•ฉ"์„ ๊ตฌํ•˜๋ฏ€๋กœ ์นด๋“œ์˜ ์ˆœ์„œ๋Š” ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

4. ๋”ฐ๋ผ์„œ conbination(์กฐํ•ฉ)์œผ๋กœ ์นด๋“œ 3์žฅ์„ ๊ตฌํ•˜๋ฉด ๋œ๋‹ค.

๐Ÿ’ป์ฝ”๋“œ

from itertools import combinations

N,M = map(int,input().split())
card = list(map(int,input().split()))
temp = 0

card_com = list(map(sum,combinations(card,3)))
for i in card_com:
  if i <= M and i > temp:
    temp = i

print(temp)

 

โ“ ๊ฒฝ์šฐ์˜ ์ˆ˜ ( ์ˆœ์—ด / ์กฐํ•ฉ / ์ค‘๋ณต ์ˆœ์—ด / ์ค‘๋ณต ์กฐํ•ฉ)

- ์ˆœ์—ด : ์ˆœ์„œ๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ๋ฝ‘๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜(์ค‘๋ณต x)

from itertools import permutations

a = [1,2,3]

print(list(permutations(a,2)))

#print
[(1,2),(1,3),(2,1),(2,3),(3,1),(3,2)]

- ์กฐํ•ฉ : ์ˆœ์„œ๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ณ  ๋ฝ‘๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜(์ค‘๋ณต x)

from itertools import combinations

a = [1,2,3]
print(list(combinations(a,2)))

#print
[(1,2), (1,3), (2,3)]

- ์ค‘๋ณต ์ˆœ์—ด : ๋ฝ‘์€ ์ˆœ์„œ๋ฅผ ๊ณ ๋ คํ•˜๋˜, ์ฃผ๋จธ๋‹ˆ์— ๋ฝ‘์€ ๊ตฌ์Šฌ์„ ๋‹ค์‹œ ์ง‘์–ด๋„ฃ์–ด ์ค‘๋ณต์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋ฝ‘๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜(์ค‘๋ณต o)

from itertools import product

a = [1,2,3]

print(list(product(a,2)))

#print
[(1,1),(1,2),(1,3),(2,1),(2,2),(2,3),(3,1),(3,2),(3,3)]

 

- ์ค‘๋ณต ์กฐํ•ฉ : ์ˆœ์„œ๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ณ  ์ฃผ๋จธ๋‹ˆ์— ๋ฝ‘์€ ๊ตฌ์Šฌ์„ ๋‹ค์‹œ ์ง‘์–ด๋„ฃ์–ด ์ค‘๋ณต์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ๊ตฌ์Šฌ์„ ๋ฝ‘๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜(์ค‘๋ณต o)

from itertools import combinations_with_replacement
a = [1,2,3]

print(list(combinations_with_replacement(a,2)))

#print
[(1,1),(1,2),(1,3),(2,2),(2,3),(3,3)]