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 |