Search

์กฐ์˜ˆ์ง€

2.๋ฌธ์ œ์ด๋ฆ„
3. ์ˆ˜ํ–‰์‹œ๊ฐ„[์ดˆ(s)]
1200
4. git ์ฃผ์†Œ URL
์ข‹์•„์š” ๋ˆ„๋ฅด๊ธฐ
์ข‹์•„์š” ์ˆ˜
: 0
5 more properties
| ์ฝ”๋“œ ์ž‘์„ฑํ•˜๊ธฐ
N, M = map(int, input().split()) nums = list(range(1, N+1)) result = [] def num(): if len(result) == M: for i in result: print(i, end=' ') print() for i in nums: if len(result) == 0 or i > result[-1]: result.append(i) num() result.remove(i) num()
Python
๋ณต์‚ฌ
| ์ฝ”๋“œ ์„ค๋ช…ํ•˜๊ธฐ
n๊ณผ m(1)์„ ํ’€๊ณ  ๋ฐ”๋กœ ํ’€์–ด์„œ ๋นจ๋ฆฌ ํ’€ ์ˆ˜ ์žˆ์—ˆ๋‹ค.
(1)์€ ์ˆœ์—ด์˜ ์„ฑ๊ฒฉ์ด๋ฉฐ, (2)๋Š” ์กฐํ•ฉ์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. (์ˆœ์„œ๋ฅผ ๋ฐ”๊ฟจ์„ ๋•Œ ์ค‘๋ณต์„ ํ—ˆ๋ฝํ•˜์ง€ ์•Š๋Š”๋‹ค)
result์—๋Š” ์žฌ๊ท€๋ฅผ ๋Œ๋ฉฐ result์— ์—†๋Š” ์ˆ˜๋“ค์ด ๋‹ด๊ธธํ…๋ฐ, ์ด ๋•Œ ๋ฐ˜๋ณต๋ฌธ์„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ๋Œ๋ฆฌ๋ฏ€๋กœ result์—๋„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ๋‹ด๊ธด๋‹ค. ๋”ฐ๋ผ์„œ result์˜ ๋งˆ์ง€๋ง‰์— ์žˆ๋Š” ์ˆ˜๋ณด๋‹ค ํฐ ์ˆ˜๋งŒ์„ ๋‹ด์„ ์ˆ˜ ์žˆ๋„๋ก ์กฐ๊ฑด๋ฌธ์„ ๋งŒ๋“ค์—ˆ๋‹ค.
1.
์ž…๋ ฅ๋ฐ›๊ธฐ
a.
N๊ณผ M์„ int๋กœ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค.
b.
1๋ถ€ํ„ฐ N์„ ๋‹ด๋Š” ๋ฐฐ์—ด์„ ๋งŒ๋“ ๋‹ค
2.
์žฌ๊ท€ ํ•จ์ˆ˜
a.
๋ฐ˜๋ณต : ํ•จ์ˆ˜๊ฐ€ ์‹œ์ž‘๋˜๋ฉด ์ „์ฒด ์ˆซ์ž ๋ฐฐ์—ด์„ ๋Œ๋ฉด์„œ result์— ์—†์œผ๋ฉฐ result์˜ ๋งˆ์ง€๋ง‰์ˆ˜๋ณด๋‹ค ํฐ ์ˆ˜๋ฅผ result์— ๋„ฃ๋Š”๋‹ค.
์žฌ๊ท€๋ฅผ ํƒœ์šฐ๊ณ  ๋‚˜์„œ result์—์„œ ๋„ฃ์—ˆ๋˜ ๊ฒƒ์„ ๋นผ์ค˜์•ผ์ง€ ๋ฐ˜๋ณต๋ฌธ์—์„œ ๊ฐ์ž์˜ ๊ฐ’์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š”๋‹ค.
b.
ํƒˆ์ถœ : result์˜ ๊ธธ์ด๊ฐ€ M์ด ๋˜๋ฉด ๊ฒฐ๊ณผ๊ฐ’์„ ์ถœ๋ ฅํ•˜๊ณ  ํƒˆ์ถœํ•œ๋‹ค.
ย ๋‹ค๋ฅธ ํ’€์ด
โ€ข
print(*list) : *๋Š” list, set, str๊ณผ ๊ฐ™์€ iterableํ•œ ์š”์†Œ๋“ค์„ unpackingํ•˜๋Š” ํšจ๊ณผ๊ฐ€ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ธฐ๋ณธ์ ์œผ๋กœ sep=โ€ โ€œ์ด๋‹ค. ๋”ฐ๋ผ์„œ list์˜ ๊ฐ’๋“ค์„ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ํ•œ ์ค„์— ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค.
โ†’ for๋ฌธ์œผ๋กœ ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค.
โ€ข
์•„๋ž˜ ์ฝ”๋“œ๋Š” ์• ์ดˆ์— ์‹œ์ž‘๊ฐ’์„ result์— ๋„ฃ์€ ๊ฐ’์— 1์„ ๋”ํ•ด์„œ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋„˜๊ฒจ์ค€๋‹ค.
def nums(a): if len(result) == M: print(*result) for i in range(a, N+1): result.append(i) nums(i+1) result.remove(i) nums(1)
Python
๋ณต์‚ฌ