[백준 22863] 원상 복구 (large) (python)
https://www.acmicpc.net/problem/22863 22863번: 원상 복구 (large) 수가 적혀있는 $P_1, P_2, ..., P_N$ $N$개의 카드가 있다. 1부터 N까지 수가 하나씩 존재하는 $D_1, D_2, ... , D_i , ... D_N$ 가 있다. 이때 $D_i$는 $P_{D_i}$ 값을 $i$ 번째로 가지고 오는 것을 의미한다. 이러한 www.acmicpc.net 원상 복구 (large) 문제 PDi 값을 i 번째로 가져오는 셔플을 K번 작업했을 경우, 최종적으로 출력되는 결과 카드를 구해보자. 순열 사이클을 찾아내서 계산해야 하는 문제 ⚙️정답 코드 import sys N, K = map(int, sys.stdin.readline().split()) P = [0..
2023. 3. 31.
[백준 14889] 스타트와 링크(python)
https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 스타트와 링크 문제 짝수인 N명의 사람을 2개의 팀으로 나누어 각각의 팀의 능력치의 차이를 최소로 만드는 문제 백트래킹을 활용하거나 조합을 활용해서 풀 수 있다. ⚙️내가 푼 정답코드(백트래킹 활용) def team(a,n): global result if a == N//2: # 유망하다면 start, link = 0, 0 # start 팀, link팀 for i in range(N): for j in range(N)..
2023. 3. 30.
[백준 2630] 색종이 만들기(python)
https://www.acmicpc.net/problem/2630 2630번: 색종이 만들기 첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 16, 32, 64, 128 중 하나이다. 색종이의 각 가로줄의 정사각형칸들의 색이 윗줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진다. www.acmicpc.net 색종이 만들기 문제 색종이의 가로 세로를 N//2 영역으로 만들어 내려갔을 때, 파란색 색종이 영역의 갯수와 흰색 색종이 영역(잘려나간 흰색 종이)의 갯수를 구하는 문제 분할 정복을 활용한 재귀를 이용하면 쉽게 풀 수 있다 ⚙️내가 푼 정답코드 def div(y, x, n): color = paper[y][x] # 색종이의 색 for i in range(y, y+n): ..
2023. 3. 29.