목록코딩 테스트 (121)
공부 기록장
https://www.acmicpc.net/problem/2775 코드 t = int(input()) dp = [[0 for _ in range(15)] for _ in range(15)] # 0층 i호에는 i명 초기화 for i in range(1, 15): dp[0][i] = i # 각 층 1호 값 초기화 for i in range(1, 15): dp[i][1] = dp[i-1][1] for i in range(1, 15): for j in range(2, 15): dp[i][j] = dp[i][j-1] + dp[i-1][j] # 같은 층 전 호수 dp값에 다른 층 같은 호수의 dp를 더해준다 for _ in range(t): k = int(input()) n = int(input()) print(d..
https://www.acmicpc.net/problem/9663 9663번: N-Queen N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 백트래킹 대표 문제라고 해서 풀어야지 생각만 하고 미루다가 이제야 풀고 공부했다 ... 이 개념에 대한 설명은 몇 십번은 읽은 거 같은데, 개념적으로는 이해하기 그렇게 어려운 개념은 아닌데, 막상 코드로 구현하려면, 코드 작성이 수월하게 안되는 개념이다 ㅠ ㅠ ㅠ . . . 백트래킹이란, 최적의 해를 찾는 과정에서, 유망하지 않은 후보 해에 대해 빠르게 포기하고 이전 단계로 되돌아가 다른 후보 해를 찾는 알고리즘..
https://www.acmicpc.net/problem/6064 6064번: 카잉 달력 입력 데이터는 표준 입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터는 한 줄로 구성된다. www.acmicpc.net 코드 import sys input = sys.stdin.readline T = int(input()) def num(M, N, x, y): k = x while k
https://www.acmicpc.net/problem/10971 10971번: 외판원 순회 2 첫째 줄에 도시의 수 N이 주어진다. (2 ≤ N ≤ 10) 다음 N개의 줄에는 비용 행렬이 주어진다. 각 행렬의 성분은 1,000,000 이하의 양의 정수이며, 갈 수 없는 경우는 0이 주어진다. W[i][j]는 도시 i에서 j www.acmicpc.net 코드 import sys N = int(input()) a = [list(map(int, input().split())) for _ in range(N)] ans = sys.maxsize visited = [0] * N def backtrack(start, now, value, cnt): global ans if cnt == N: # 원하는 깊이까지 도..