Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 백준 19238
- 백준 15685
- re.split
- sql 기술면접
- 백준
- 웹어플리케이션 서버
- Coroutine
- Spring
- 백준 16719
- 백준 17626
- 백준 16236
- JVM
- 백준 파이썬
- 프로그래머스
- 파이썬
- JPA
- 프로래머스
- with recursive
- java
- spring oauth
- Spring Boot
- 백준 17779
- spring cloud
- Kotlin
- springboot
- java 기술면접
- MSA
- spring security
- MySQL
- 백준 16235
Archives
- Today
- Total
시작이 반
[백준] 6603번(python 파이썬) 본문
SMALL
백트래킹의 쉬운 문제이다
숫자가 6개인 조합을 구해주면 된다.
K와 S가 합쳐진 list를 입력받는데 이차원 list로 풀어도 되지만
동적 변수명 할당이라는 것을 봐서 이번에 이렇게 풀어봤다.
동적 변수명할당, 사용
i = 1
while True:
globals()['lotto{}'.format(i)] = list(map(int, input().split()))
if globals()['lotto{}'.format(i)][0] == 0:
break
globals()['visited{}'.format(i)] = [False] * (globals()['lotto{}'.format(i)][0] + 1)
i += 1
lotto1, lotto2, ...
visited1, visited2, ...
lotto1 -> 호출 방법 : globals()['lotto{}'.format(i)]
i = 1
while True:
globals()['lotto{}'.format(i)] = list(map(int, input().split()))
if globals()['lotto{}'.format(i)][0] == 0:
break
globals()['visited{}'.format(i)] = [False] * (globals()['lotto{}'.format(i)][0] + 1)
i += 1
result = list()
def BackTracking(depth, start, lotto, visited):
global string
if depth == 6:
print(' '.join(map(str, result)))
return
for i in range(start, lotto[0]+1):
if visited[i]:
continue
visited[i] = True
result.append(lotto[i])
BackTracking(depth+1, i, lotto, visited)
result.pop()
visited[i] = False
for i in range(1, i):
BackTracking(0, 1, globals()['lotto{}'.format(i)], globals()['visited{}'.format(i)])
print()
LIST
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 1759번(python 파이썬) (0) | 2021.02.04 |
---|---|
[백준] 16968번(python 파이썬) (0) | 2021.02.04 |
[백준] 14889번(python 파이썬) (1) | 2021.02.03 |
[백준] 14888번(python 파이썬) (0) | 2021.02.02 |
[백준] 2580번(python 파이썬) (2) | 2021.01.29 |