본문 바로가기

baekjoon46

[알고리즘/baekjoon] 7569_토마토2(python) 문제 https://www.acmicpc.net/problem/7569 7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net # 기존의 2차원 배열이 아닌 3차원으로 생각해야 하는 문제이다. 최소 일수를 구하는 문제이므로 bfs(=deque)를 사용하자 # 높이가 배열에서 표현되면 제일 앞에 표현되는 것만 주의하자 정답 import sys from collections import deque input = sys.stdin.readline m, n, h = map(int, input().sp.. 2021. 11. 27.
[알고리즘/baekjoon] 6064_카잉 달력(python) 문제 https://www.acmicpc.net/problem/6064 6064번: 카잉 달력 입력 데이터는 표준 입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터는 한 줄로 구성된다. www.acmicpc.net # 필자는 완전 탐색(for문), set함수 활용을 써봤으나 시간 초과가 떠서 도저히 생각이 나지 않아서 인터넷 검색을 이용했다. # 먼저 규칙을 찾아보자. 정답을 i라고 가정하면 i-x에 m을 나누면 나머지가 0이다. 마찬가지로 i-y에 n을 나누면 나머지가 0이다. # 즉, 정답 i는 x,y에 m,n을 계속 더한 값중 하나이다. # x에 m을 계속 더해준 값에 y를 빼고 n으로 나눈 나머지가.. 2021. 11. 27.
[알고리즘/baekjoon] 2667_단지번호붙이기(python) 문제 https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net # 1012 유기농 배추 문제와 11724 연결요소의 개수문제의 합성문제와 같다. 정답 from collections import deque n = int(input()) graph = [list(map(int, input())) for _ in range(n)] cnt = [] dx = [-1, 1, 0, 0] # 좌, 우 dy = [0, 0, -1, 1] # 상, 하 def bfs(i,j).. 2021. 11. 26.
[알고리즘/baekjoon] 2178_미로 탐색(python) 문제 https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net # 1012 유기농 배추와 매우 유사한 문제이다. 인접하다는 것은 상하좌우를 고려한다는 의미 정답 from collections import deque n, m = map(int, input().split()) miro = [list(map(int,input())) for _ in range(n)] visited = [[0]*m for _ in range(n)] dx = [-1, 1, 0 ,0] # 좌,우 dy = [0, .. 2021. 11. 26.
[알고리즘/baekjoon] 1992_쿼드트리(python) 문제 https://www.acmicpc.net/problem/1992 1992번: 쿼드트리 첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1 ≤ N ≤ 64의 범위를 가진다. 두 번째 줄부터는 길이 N의 문자열이 N개 들어온다. 각 문자열은 0 또 www.acmicpc.net # 2630_색종이 만들기 문제와 똑같은 문제이다. # n은 언제나 2의 제곱수로 이뤄진다. 정답 n = int(input()) image = [list(map(int, input())) for _ in range(n)] # 2차원 배열 선언 def quadtree(x, y, n): check = image[x][y] for i in range(x, x+n): for j in r.. 2021. 11. 26.
[알고리즘/baekjoon] 1074_Z(python) 문제 https://www.acmicpc.net/problem/1074 1074번: Z 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. N > 1인 경우, 배열을 www.acmicpc.net # 4분면으로 나눠서 r,c좌표가 사분면에 안에 없으면 **2로 더 늘려서 파악한다. 정답 def z(n, x, y): global dist if x == r and y == c: # 목표 r,c과 같으면 방문에 걸리는 거리 출력 print(int(dist)) exit(0) if n == 1: # 1칸만 이동 dist += 1 return if not (x 2021. 11. 25.