[๋ฐฑ์ค€] 15654 N๊ณผ M(5) (python ํŒŒ์ด์ฌ)

2022. 7. 13. 02:16ยท๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]

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

 

15654๋ฒˆ: N๊ณผ M (5)

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

www.acmicpc.net


์•„์ด๋””์–ด

1. ๋ฐฑํŠธ๋ž˜ํ‚น

  • ์ด๋ฏธ N๊ณผ M ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ด์„œ ๋ฐ”๋กœ ๋– ์˜ฌ๋ž๋‹ค.
  • ๊นŠ์ด๊ฐ€ M์ด ๋  ๋•Œ๋งˆ๋‹ค ์ฃผ์–ด์ง„ ์ˆซ์ž๋“ค์„ ํƒ์ƒ‰ํ•˜๋ฉด ๋œ๋‹ค.
  • ์ด ๋ฌธ์ œ์—์„œ๋Š” ์ˆœ์—ด, ์ค‘๋ณต๋˜์ง€ ์•Š์€ ์ˆซ์ž๋“ค์„ ๋‚˜์—ดํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์ด๋ฏธ ์ถ”๊ฐ€๋œ ์ˆซ์ž๊ฐ€ ์žˆ์œผ๋ฉด continue๋กœ ๋„˜๊ฒจ์ค€๋‹ค.

์ „์ฒด ์ฝ”๋“œ

N, M = map(int, input().split())
numbers = [int(x) for x in input().split()]

numbers.sort()

def backtracking(depth):
    if depth == M:
        print(' '.join(map(str,box)))
        return

    for i in range(N):
        if numbers[i] in box:
            continue
        box.append(numbers[i])
        backtracking(depth + 1)
        box.pop()

box = []
backtracking(0)

์ฝ”๋“œ ์„ค๋ช…

numbers.sort()

def backtracking(depth):
    if depth == M:
        print(' '.join(map(str,box)))
        return

    for i in range(N):
        if numbers[i] in box:
            continue
        box.append(numbers[i])
        backtracking(depth + 1)
        box.pop()

box = []
backtracking(0)

 

์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋˜์–ด์žˆ๋Š” ์ˆซ์ž ์ˆœ์„œ๋Œ€๋กœ ์ˆซ์ž๋ฅผ ํƒ์ƒ‰ํ•œ๋‹ค. 

๊ทธ๋ฆฌ๊ณ  ๋นˆ ๋ฆฌ์ŠคํŠธ(box)๋ฅผ ์‚ฌ์šฉํ•ด ์ˆซ์ž๋ฅผ ๋„ฃ์–ด์ค€๋‹ค.

์ด๋ฏธ ๋„ฃ์€ ์ˆซ์ž๋ฉด continue๋ฅผ ์‚ฌ์šฉํ•ด ๋‹ค์Œ ์ˆซ์ž๋กœ ๋„˜์–ด๊ฐ„๋‹ค.

 

์ˆ˜์—ด์˜ ๊ธธ์ด๊ฐ€ M์ด ๋˜๋ฉด(depth == M) box๋ฆฌ์ŠคํŠธ์— ์žˆ๋Š” ์ˆ˜์—ด์„ ์ถœ๋ ฅํ•ด์ฃผ๊ณ  return ํ•œ๋‹ค.

returnํ›„ ๋„ฃ์—ˆ๋˜ ์ˆซ์ž๋ฅผ ๋‹ค์‹œ ๋นผ์ฃผ๋ฉด ๋œ๋‹ค.

 

 

์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๐Ÿงฉ Problem Solving > [๋ฐฑ์ค€]' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๋ฐฑ์ค€] 1504 ํŠน์ •ํ•œ ์ตœ๋‹จ ๊ฒฝ๋กœ (python ํŒŒ์ด์ฌ)  (0) 2022.07.28
[๋ฐฑ์ค€] 12100 2048(easy) (python ํŒŒ์ด์ฌ)  (0) 2022.07.25
[๋ฐฑ์ค€] 1202 ๋ณด์„ ๋„๋‘‘ (python ํŒŒ์ด์ฌ)  (0) 2022.07.11
[๋ฐฑ์ค€] 13913 ์ˆจ๋ฐ”๊ผญ์งˆ 4 (python ํŒŒ์ด์ฌ)  (0) 2022.07.10
[๋ฐฑ์ค€] 12851 ์ˆจ๋ฐ”๊ผญ์งˆ 2 (python ํŒŒ์ด์ฌ)  (0) 2022.07.10
'๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [๋ฐฑ์ค€] 1504 ํŠน์ •ํ•œ ์ตœ๋‹จ ๊ฒฝ๋กœ (python ํŒŒ์ด์ฌ)
  • [๋ฐฑ์ค€] 12100 2048(easy) (python ํŒŒ์ด์ฌ)
  • [๋ฐฑ์ค€] 1202 ๋ณด์„ ๋„๋‘‘ (python ํŒŒ์ด์ฌ)
  • [๋ฐฑ์ค€] 13913 ์ˆจ๋ฐ”๊ผญ์งˆ 4 (python ํŒŒ์ด์ฌ)
์ œ๋ด‰์•„
์ œ๋ด‰์•„
  • ์ œ๋ด‰์•„
    Overthinking
    ์ œ๋ด‰์•„
    fake it till you make it.
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (104)
      • ๐Ÿงฉ Problem Solving (83)
        • [๋ฐฑ์ค€] (74)
        • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] (7)
        • [SW Expert Academy] (1)
        • [์•Œ๊ณ ๋ฆฌ์ฆ˜ for PS] (1)
      • ๐Ÿ“ฆ Data Structure (2)
      • ๐Ÿ“œ Language (14)
        • [python] (14)
      • ๐Ÿ–ค Git (1)
      • ๐ŸŒ† ์ผ์ƒ (2)
        • ๐Ÿ’ฌ ๋ฒฝ๋ณด๊ณ  ๋งํ•˜๊ธฐ (2)
      • ๐Ÿ—„๏ธ ๊ธฐํƒ€ (2)
      • ๐Ÿ”ต css (0)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    DFS
    ๋ถ€๋ถ„ํ•ฉ
    ๋ธŒ๋ฃจํŠธํฌ์Šค
    ๋ƒ…์ƒ‰
    ์œ„์ƒ์ •๋ ฌ
    ํ”Œ๋กœ์ด๋“œ์›Œ์…œ
    ํŒฐ๋ฆฐ๋“œ๋กฌ
    DP
    ๋ฐ๋ธŒ์ฝ”์Šค
    imos
    BFS
    ๋‹ค์ต์ŠคํŠธ๋ผ
    ๊ทธ๋ฆฌ๋””
    slicing
    ์Šคํƒ
    boj
    SWEA
    ๋ˆ„์ ํ•ฉ
    Python
    ํ”Œ๋กœ์ด๋“œ ์™€์ƒฌ
    Bruteforce
    ํŒŒ์ด์ฌ
    ๋ฐฑ์ค€
    ์žฌ๊ท€
    ์ •์ฒ˜๊ธฐ
    ํˆฌํฌ์ธํ„ฐ
    ๋ฐฑํŠธ๋ž˜ํ‚น
    ๋ถ„ํ•  ์ •๋ณต
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    ๊ตฌํ˜„
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
์ œ๋ด‰์•„
[๋ฐฑ์ค€] 15654 N๊ณผ M(5) (python ํŒŒ์ด์ฌ)
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”