CS/알고리즘_문제풀이(파이썬)

tobin

Jedy_Kim 2021. 6. 28. 12:09
728x90

문제

두 정수 n, k를 입력받아 k개의 1을 가진 n자리 이진 패턴을 출력하는 프로그램을 작성하세요.

 

입력

두 정수 n, k가 입력으로 주어진다. ( 0 < n <= 30, 0 <= k < 8 , n >= k )

 

출력

결과를 내림차순으로 출력한다.

 

예제 입력

2 1

예제 출력

10 01

 

예제 입력

2 0

예제 출력

00

 

예제 입력

4 2

예제 출력

1100

1010

1001

0110

0101

0011

 

#코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import sys
 
def getResult(x, k_cnt): 
  global result  
  if k_cnt == 0:  
    for i in result: 
      print(i, end='')
    print()
  else:
    for i in range(x, n): 
      result[i] = 1  
      getResult(i+1, k_cnt-1)
      result[i] = 0
      
      
 
if __name__ == "__main__":
  input = sys.stdin.readline
  
  n, k   = map(int, input().split())
  result = [0]*n
  
  getResult(0, k)
cs

 

반응형

'CS > 알고리즘_문제풀이(파이썬)' 카테고리의 다른 글

합병정렬 구현하기  (0) 2021.06.28
dessert  (0) 2021.06.28
binary  (0) 2021.06.27
mountain  (0) 2021.06.27
스킬트리[프로그래머스]  (0) 2021.06.26