목록baekjoon (solved.ac)/class 3 Solve (43)
Hikenny25
https://www.acmicpc.net/problem/14940 14940번: 쉬운 최단거리 지도의 크기 n과 m이 주어진다. n은 세로의 크기, m은 가로의 크기다.(2 ≤ n ≤ 1000, 2 ≤ m ≤ 1000) 다음 n개의 줄에 m개의 숫자가 주어진다. 0은 갈 수 없는 땅이고 1은 갈 수 있는 땅, 2는 목표지점이 www.acmicpc.net from sys import stdin from collections import deque input = stdin.readline delta = [[0,1], [0,-1], [1,0], [-1,0]] n, m = map(int, input().split()) maze = [list(map(int, input().split())) for _ in ra..

https://www.acmicpc.net/problem/1107 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼이 www.acmicpc.net - Brute Force n = int(input()) m = int(input()) if m != 0: breakdown_list = list(input().split()) else: breakdown_list = list() answer_list = [abs(n-100)] channel_list = [i for i in range(1000000)] for i in channe..
https://www.acmicpc.net/problem/5430 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net - 덱 import sys sys.setrecursionlimit(int(1e9)) from collections import deque t = int(input()) for _ in range(t): p = input() n = int(input()) x = input() d = deque(list(x[1:-1].split(','))) r = 1 # 앞부터 제거 -1이면 뒤부터 제거 for f in p: if f == 'R': r *= -1 else:..
https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net - 그래프 탐색 import sys sys.setrecursionlimit(int(1e9)) input = sys.stdin.readline def dfs(r, c): v = data[r][c] data[r][c] = 'N' for i, j in delta: dr = r + i dc = c + j if 0
https://www.acmicpc.net/problem/7569 7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net - BFS import sys input = sys.stdin.readline from collections import deque m, n, h = map(int, input().split()) tomato = [[list(map(int, input().split())) for _ in range(n)] for _ in range(h)] q = deque() for k i..

https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net - BFS import sys input = sys.stdin.readline from collections import deque m, n = map(int, input().split()) tomato = [list(map(int, input().split())) for _ in range(n)] q = deque() for i in range(n): for j in range(..

https://www.acmicpc.net/problem/5525 5525번: IOIOI N+1개의 I와 N개의 O로 이루어져 있으면, I와 O이 교대로 나오는 문자열을 PN이라고 한다. P1 IOI P2 IOIOI P3 IOIOIOI PN IOIOI...OI (O가 N개) I와 O로만 이루어진 문자열 S와 정수 N이 주어졌을 때, S안에 PN이 몇 www.acmicpc.net - 구현 import sys input = sys.stdin.readline n = int(input()) m = int(input()) s = input()[:-1] p = 'I' for _ in range(n): p += 'OI' try: idx = s.index('IOI') except: print(0) exit() cnt ..
https://www.acmicpc.net/problem/1992 1992번: 쿼드트리 첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1 ≤ N ≤ 64의 범위를 가진다. 두 번째 줄부터는 길이 N의 문자열이 N개 들어온다. 각 문자열은 0 또 www.acmicpc.net - 분할정복법 import sys input = sys.stdin.readline def divide(arr): l = len(arr) // 2 print('(', end='') for i in [0,l]: for j in [0,l]: quadtree([row[j:j+l] for row in arr[i:i+l]]) print(')', end='') def quadtree(matrix)..

https://www.acmicpc.net/problem/1389 1389번: 케빈 베이컨의 6단계 법칙 첫째 줄에 유저의 수 N (2 ≤ N ≤ 100)과 친구 관계의 수 M (1 ≤ M ≤ 5,000)이 주어진다. 둘째 줄부터 M개의 줄에는 친구 관계가 주어진다. 친구 관계는 A와 B로 이루어져 있으며, A와 B가 친구라는 뜻 www.acmicpc.net - BFS import sys input = sys.stdin.readline from collections import deque class Graph: def __init__(self, size): self.size = size self.matrix = [[0] * size for _ in range(size)] self.visited = [Fa..

https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net - DP - BFS n, k = map(int, input().split()) dp = [int(1e9)] * 200001 dp[n] = 0 if n == 0: dp[1] = 1 dp[2] = 2 else: dp[n-1] = 1 dp[n+1] = 1 dp[2*n] = 1 if n >= k: print(n-k) exit() for i in range(n+1, k+1): i..