๐Ÿ“œ Language/[python]

[ํŒŒ์ด์ฌ] ์ˆœ์—ด๊ณผ ์กฐํ•ฉ - permutations, combinations

์ œ๋ด‰์•„ 2022. 8. 3. 03:53

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ, ์ˆœ์—ด๊ณผ ์กฐํ•ฉ ๊ฐœ๋…์ด ํ•„์š”ํ•œ ๋ฌธ์ œ๋“ค์ด ์žˆ๋‹ค.

 

itertools ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋งค์šฐ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ˆœ์—ด๊ณผ ์กฐํ•ฉ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.


itertools

ํŒŒ์ด์ฌ์— ์žˆ๋Š” ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋‹ค.

๋‹ค์–‘ํ•œ iterator๊ฐ€ ์žˆ์ง€๋งŒ ๊ทธ์ค‘ permutations(), combinations()๋งŒ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋‹ค๋ฃฌ๋‹ค.

 


permutations()

from itertools import permutations

arr = [1, 2, 3, 4]
for p in permutations(arr, 2):
    print(p)

๊ฒฐ๊ณผ:

(1, 2)
(1, 3)
(1, 4)
(2, 1)
(2, 3)
(2, 4)
(3, 1)
(3, 2)
(3, 4)
(4, 1)
(4, 2)
(4, 3)

 

tuple ํ˜•ํƒœ๋กœ ๋‚˜์˜จ๋‹ค.

 


combinations()

from itertools import combinations

arr = [1, 2, 3, 4]
for c in combinations(arr,3):
    print(c)

๊ฒฐ๊ณผ:

(1, 2, 3)

(1, 2, 4)

(1, 3, 4)

(2, 3, 4)