망나니 AWOS의 일상
article thumbnail

문제 풀이

예제2 입/출력을 보게 되면 아래의 그림과 나타낼 수 있는데

이전에 풀었던 permutations 문제와 조금 다르다.

 

[python] 백준 15649번 N과 M (1)

문제 풀이 N과 M의 입력이 주어지는데 N과 M의 조건은 아래와 같다. 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 쉽게 말해 N에 4, M에 2가 들어왔을 경우 1, 2, 3, 4 중에 2개를 고르면 아래

begin-dev-awos.tistory.com

permutations 문제에서는 자기 자신을 제외한 순서쌍이었는데 이번 문제는 자기 자신을 포함한 모든 수의 순서쌍이다.

파이썬에서 itertools 라이브러리의 product 함수가 있어 풀 수 있는 문제이다.

 

아래의 링크에 product 함수에 대한 설명이 있다. 수학에서는 데카르트 곱이라고 나타내는데 모든 경우의 수의 쌍을 표현할 수 있다.

 

itertools — Functions creating iterators for efficient looping — Python 3.10.3 documentation

 

docs.python.org

 

 

완성된 코드!!👍😊

import re
from itertools import product

N, M = map(int, input().split())
numbers = sorted(str(val) for val in range(1, N + 1))
# repeat 키워드를 이용하여 반복할 횟수 지정
for key in product(numbers, repeat=M):
	# 결과값이 튜플로 나와 값만 뽑기 위해 정규식 사용
    print(re.sub(r'[^0-9\s]', '', str(key)))
profile

망나니 AWOS의 일상

@AWOS

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!