[๋ฐฑ์ค€/python] 15650๋ฒˆ : N๊ณผ M

2021. 4. 11. 23:51

๋ฌธ์ œ

์ž์—ฐ์ˆ˜ N๊ณผ M์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์•„๋ž˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๊ธธ์ด๊ฐ€ M์ธ ์ˆ˜์—ด์„ ๋ชจ๋‘ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

  • 1๋ถ€ํ„ฐ N๊นŒ์ง€ ์ž์—ฐ์ˆ˜ ์ค‘์—์„œ ์ค‘๋ณต ์—†์ด M๊ฐœ๋ฅผ ๊ณ ๋ฅธ ์ˆ˜์—ด
  • ๊ณ ๋ฅธ ์ˆ˜์—ด์€ ์˜ค๋ฆ„์ฐจ์ˆœ์ด์–ด์•ผ ํ•œ๋‹ค.

 

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ์ž์—ฐ์ˆ˜ N๊ณผ M์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ M ≤ N ≤ 8)

 

์ถœ๋ ฅ

ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ๋ฌธ์ œ์˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ์ˆ˜์—ด์„ ์ถœ๋ ฅํ•œ๋‹ค. ์ค‘๋ณต๋˜๋Š” ์ˆ˜์—ด์„ ์—ฌ๋Ÿฌ ๋ฒˆ ์ถœ๋ ฅํ•˜๋ฉด ์•ˆ๋˜๋ฉฐ, ๊ฐ ์ˆ˜์—ด์€ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ์ถœ๋ ฅํ•ด์•ผ ํ•œ๋‹ค.

์ˆ˜์—ด์€ ์‚ฌ์ „ ์ˆœ์œผ๋กœ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆœ์„œ๋กœ ์ถœ๋ ฅํ•ด์•ผ ํ•œ๋‹ค.

 

์ •๋‹ต

from itertools import combinations
import sys
input = sys.stdin.readline

N, M = map(int, input().split())


for i in combinations(range(1, N + 1), M):
    for j in range(M):
        print(i[j], end=" ")
    print()

itertools์˜ combinations๋ฅผ ์•Œ๊ณ ์žˆ๋‹ค๋ฉด ์‰ฝ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ด๋‹ค.

์ถœ๋ ฅํ˜•์‹์„ ๋งž์ถ”๊ธฐ ์œ„ํ•ด for๋ฌธ์„ ์ด์šฉํ•˜์—ฌ ํ•˜๋‚˜์”ฉ ์ถœ๋ ฅ ํ›„ end=" "๋กœ ์ด์–ด์ฃผ์—ˆ๋‹ค.

 

์•„๋ž˜๋Š” combinations ๊ด€๋ จํ•˜์—ฌ ์ž‘์„ฑํ–ˆ๋˜ ํฌ์ŠคํŒ…์ด๋‹ค.

2021.04.01 - [๐Ÿ”์•Œ๊ณ ๋ฆฌ์ฆ˜/๐Ÿ”…๊ฐœ๋…์ •๋ฆฌ] - [ํŒŒ์ด์ฌ/python] ์ˆœ์—ด๊ณผ ์กฐํ•ฉ : itertools ์ด์šฉํ•˜๊ธฐ (permutations, combinations)

 

[ํŒŒ์ด์ฌ/python] ์ˆœ์—ด๊ณผ ์กฐํ•ฉ : itertools ์ด์šฉํ•˜๊ธฐ (permutations, combinations)

itertools๋ฅผ ์ด์šฉํ•˜์—ฌ ์ˆœ์—ด๊ณผ ์กฐํ•ฉ์„ ๊ตฌํ˜„ํ•˜๋ฉด ๋”์šฑ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. 1. ์ˆœ์—ด : permutations(N, r) N์—์„œ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๊ณ , r๊ฐœ๋ฅผ ๋ฝ‘์•„ ์ˆœ์„œ๋Œ€๋กœ ๋‚˜์—ดํ•œ๋‹ค. ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, ๋ฝ‘

ye333.tistory.com

 

728x90

BELATED ARTICLES

more