광규니
광규니네
광규니
전체 방문자
오늘
어제
  • 분류 전체보기 (154)
    • 알고리즘 (100)
      • 알고리즘 개념 (2)
      • 문제 풀이 (96)
    • 주절주절 (19)
      • 자격증, 활동 후기 (4)
      • 전시회 후기 (3)
      • 이모저모 (2)
      • 회고 (3)
      • 뜨럼 (7)
    • 운영체제 (9)
    • 개발 지식 (9)
      • Apple Watch (4)
      • MySQL (2)
      • Eclipse (1)
      • XCode (1)
    • 네트워크 공부 (1)
    • 데이터베이스 공부 (5)
    • Java 공부 (7)
    • TMP (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 개념
  • BFS
  • 프로그래머스
  • 자바
  • OS
  • 합주
  • BOJ
  • 운영체제
  • 컴퓨터 사이언스
  • 티스토리챌린지
  • 오블완
  • 파이썬
  • 애플워치 앱
  • 알고리즘
  • 구현
  • 애플워치 앱 만들기
  • 백준
  • DP
  • 드린이
  • 다이나믹 프로그래밍

최근 댓글

최근 글

티스토리

250x250
hELLO · Designed By 정상우.
광규니
알고리즘/문제 풀이

[Python/파이썬 15665 백준] N과 M(11)

알고리즘/문제 풀이

[Python/파이썬 15665 백준] N과 M(11)

2021. 4. 7. 00:56
반응형

www.acmicpc.net/problem/15665

 

15665번: N과 M (11)

한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해

www.acmicpc.net

문제

N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오.

  • N개의 자연수 중에서 M개를 고른 수열
  • 같은 수를 여러 번 골라도 된다.

입력

첫째 줄에 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 7)

둘째 줄에 N개의 수가 주어진다. 입력으로 주어지는 수는 10,000보다 작거나 같은 자연수이다.

출력

한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다.

수열은 사전 순으로 증가하는 순서로 출력해야 한다.

풀이

조건 : 같은 수 여러번 사용 가능, 사전 순, 중복되는 수열 여러번 출력  X

 

우선 lst를 받은것을 중복을 없애주려구 set()으로 받았구,

그 다음에 리스트로 형 변환하구 정렬시켜줬습니다.

 

함수로 tmp에 값을 바꿔주면서 출력시켰습니다.

for 문 주의할 점은 n이 아니라 lst 길이 만큼 -> set으로 중복 줄여줬기 때문

# 같은수 여러번
# 수열 사전순
# 77 이런것도 가능
import sys
n,m= map(int,input().split())

lst=set(map(int,input().split()))
lst=sorted(list(set(lst)))
lst.sort()
tmp=[0 for i in range(m)]

def go(cnt,n,m):
    if cnt==m:
        print(" ".join(map(str,tmp)))
        return
    
    for i in range(len(lst)):
        tmp[cnt]=lst[i]
        go(cnt+1,n,m)

go(0,n,m)
반응형
저작자표시 (새창열림)

'알고리즘 > 문제 풀이' 카테고리의 다른 글

[Python/파이썬 4963 백준] 섬의 개수  (0) 2021.04.09
[Python/파이썬 11724 백준] 연결 요소의 개수  (0) 2021.04.09
[Python/파이썬 15652 백준] N과 M(4)  (0) 2021.04.06
[Python/파이썬 백준 1759] 암호 만들기  (0) 2021.04.03
[Python/파이썬 10819 백준] 차이를 최대로  (0) 2021.04.03
  • 문제
  • 입력
  • 출력
  • 풀이
'알고리즘/문제 풀이' 카테고리의 다른 글
  • [Python/파이썬 4963 백준] 섬의 개수
  • [Python/파이썬 11724 백준] 연결 요소의 개수
  • [Python/파이썬 15652 백준] N과 M(4)
  • [Python/파이썬 백준 1759] 암호 만들기
광규니
광규니
공부 및 일상 올리기~

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.