[백준 / 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...
[백준 / 1393] 음하철도 구구팔 - Python
https://www.acmicpc.net/problem/1393 1393번: 음하철도 구구팔 첫번째 줄에는 xs와 ys가 주어진다. 이는 정류장의 위치가 (xs, ys)임을 의미한다. 두번째 줄에는 xe, ye, dx, dy가 주어진다. 이는 현재 열차 위치가 (xe, ye)이고, 열차가 1초마다 x가 증가하는 방향으로 www.acmicpc.net x_s, y_s = map(int, input().split()) x_e, y_e, dx, dy = map(int, input().split()) if dx != 0 and dy != 0: for i in range(1, min(abs(dx)+1, abs(dy)+1)): if abs(dx) % i == 0 and abs(dy) % i == 0: gcf = i..