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
- 백준
- 웹어플리케이션 서버
- Spring
- 백준 16719
- 백준 파이썬
- JVM
- 백준 17779
- MSA
- sql 기술면접
- spring security
- spring oauth
- 백준 17626
- JPA
- 백준 19238
- re.split
- 백준 15685
- 프로래머스
- java 기술면접
- 백준 16236
- springboot
- 프로그래머스
- Kotlin
- 백준 16235
- spring cloud
- with recursive
- 파이썬
- Spring Boot
- Coroutine
- MySQL
- java
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 |