백트래킹 (3) 썸네일형 리스트형 백준 2580 스도쿠 - 파이썬 문제. 풀이. DFS와 백트래킹을 섞어서 풀었다. 정답 리스트 중에 골라서 정답을 대입하고 답이 틀리다면 다시 돌아와 다른 정답 리스트를 넣어서 정답이라면 출력하는 방식이다. PYTHON으로 제출하면 시간초과가 떠서 pypy3로 제출을 하였다. 소스코드. import sys def DFS(x): global isTrue # 이미 답이 출력된 경우 if isTrue: return if x == len(zero): for i in matrix: for j in i: print(j, end=' ') print() isTrue = True return else: (dx, dy) = zero[x] answers = check(dx, dy) # 정답 리스트 for i in answers: matrix[dx][dy].. 백준 14888 연산자 끼워넣기 - 파이썬 풀이. itertools의 permutations를 이용해 모든 경우의 수를 만들어놓고 풀이를 하였다. 처음에는 실패하였는데 알고보니 permutations의 경우에는 같은 값 이더라도 원소의 순서가 다르면 다른 경우로 간주하여서 중복되는 경우가 매우 많다 그리하여 set을 이용하여 중복되는 값을 제거하여 문제를 풀어서 통과했다. 소스코드. import sys import itertools N = int(sys.stdin.readline()) number = list(map(int, sys.stdin.readline().split())) operator = list(map(int, sys.stdin.readline().split())) op = '' op += '+' * operator[0] op += .. 백준 14889 스타트와 링크 - 파이썬 풀이. 파이썬의 내장 라이브러리 itertools의 combinaition으로 조합을 구하여서 쉽게 해결할 수 있다. 또한 주의 하여야할 점이 팀에 구성멤버가 3명이상 넘어가면 각각의 멤버들의 조합에 대한 능력치들을 모두 구하여서 더해주어야한다. 소스코드. import sys import itertools def calc(comb, stats): # start팀과 link 팀 나누기 start = comb[0:len(comb)//2] link = comb[len(comb)//2:] link.reverse() result = 10000 for s, l in zip(start, link): sc = itertools.combinations(s, 2) lc = itertools.combinations(l, 2.. 이전 1 다음