[백준 / 1074] Z - Python
https://www.acmicpc.net/problem/1074 1074번: Z 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. N > 1인 경우, 배열을 www.acmicpc.net 처음에는 해당 표를 리스트로 그려서 풀었더니 메모리 초과가 나왔다. (그럴만도 했다..) 그래서 구현하지 않는 풀이를 생각하기 위해서 규칙을 찾았다. n=3인 경우 각 사분면의 시작은 0, 16, 32, 48이다. n=2인 경우 각 사분면의 시작은 (0, 4, 8, 12), (16, 20, 24, 28), (32, 36, 40, 44), (48, 52, 56, 60) ... 따라서 재귀식..
[백준 / 2583] 영역 구하기 - Python
https://www.acmicpc.net/problem/2583 2583번: 영역 구하기 첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오 www.acmicpc.net 사각형 그려주고 아닌거마다 위치를 구해준다. from collections import deque import sys M, N, K = map(int, sys.stdin.readline().split()) graph = [[0 for _ in range(N)] for _ in range(M)] for _ in range(K): x1, y1, x2, y2 = map(int, sy..
[백준 / 24678] 돌무더기 게임 1 - Python
https://www.acmicpc.net/problem/24678 24678번: 돌무더기 게임 1 첫 번째 케이스에서 R의 첫 시행 이후 가능한 다음 상태는 $(0,0,2), (0,2,0), (2,0,0)$뿐이며, B는 더 이상 시행을 할 수 없으므로 이긴다. 두 번째 케이스에서 R의 첫 시행 이후 가능한 다음 상태는 다음 www.acmicpc.net 1. 정렬해주어 작고 큰 순서로 맞춰준다. - 제일 작은 값과 두번 째 값의 차이를 1또는 0으로 만들어 준다. 2. 제일 큰 값을 제일 작은 값과 맞춰준다. 3. 세 값을 1과 2의 값으로 만들어 준다. 4. 유형에 따라 값을 더한다. import sys for _ in range(int(input())): rock = list(map(int, sys...
[백준 / 16938] 캠프 준비 - Python
https://www.acmicpc.net/problem/16938 16938번: 캠프 준비 난이도가 10, 30인 문제를 고르거나, 20, 30인 문제를 고르면 된다. www.acmicpc.net from collections import deque N, L, R, X = map(int, input().split()) problems = list(map(int, input().split())) problems.sort(reverse=True) answer = 0 queue = deque() while problems: biggest = problems.pop(0) if biggest < R: # sum, biggest, cnt, arr queue.append([biggest, biggest, bigge..