목록baekjoon (solved.ac) (50)
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/24460 24460번: 특별상이라도 받고 싶어 첫 번째 줄에는 정수 $N$이 주어진다. (단, $N = 2^m$, $0 \le m \le 10$, $m$은 정수) 두 번째 줄부터 $N$개 줄의 $i$번째 줄에는 $i$번째 줄에 있는 의자에 적힌 추첨번호가 주어진다. 각 줄에는 $N$개의 추첨 www.acmicpc.net - 분할정복법 def flatten(arr): return arr[0][:] + arr[1][:] def get_second_min(arr): arr = sorted(arr) return arr[1] def divide(arr): if len(arr) == 2: return [get_second_min(flatten(arr))] ..
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/18110 18110번: solved.ac 5명의 15%는 0.75명으로, 이를 반올림하면 1명이다. 따라서 solved.ac는 가장 높은 난이도 의견과 가장 낮은 난이도 의견을 하나씩 제외하고, {5, 5, 7}에 대한 평균으로 문제 난이도를 결정한다. www.acmicpc.net 오랜만에 들어가봤는데 새로운 문제가 추가돼서 풀어보앗다.. import sys input = sys.stdin.readline def round_custom(x): v1 = x - int(x) if v1 >= 0.5: return int(x+1) else: return int(x) def thirty_percent(x): return round_custom(x * 0...
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)..