본문 바로가기

분류 전체보기

(257)
파이썬)A -> B -BOJ https://www.acmicpc.net/problem/16953 16953번: A → B 첫째 줄에 A, B (1 ≤ A < B ≤ 109)가 주어진다. www.acmicpc.net from collections import deque a, b = map(int, input().split()) r = 1 def bfs(a, b): q = deque() q.append((a, 1)) while q: a, count = q.popleft() if a == b: print(count) return if a * 2
파이썬)고양이 카페- BOJ https://www.acmicpc.net/problem/28353 28353번: 고양이 카페 첫째 줄에 정수 $N$과 $K$가 공백으로 구분되어 주어진다. $(1 \leq N \leq 5\,000;$ $1 \leq K \leq 10^9)$ 둘째 줄에는 각 고양이의 무게를 의미하는 $N$개의 정수 $w_1, w_2, \dotsm, w_N$이 공백으로 구분되어 주어 www.acmicpc.net n, k = map(int, input().split()) arr = list(map(int, input().split())) arr.sort() cnt = 0 start = 0 end = n-1 while start < end: cat_1 = arr[start] cat_2 = arr[end] if cat_1 + c..
파이썬)요세푸스 문제0 -BOJ https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net from collections import deque n, k = map(int, input().split()) q = deque([i for i in range(1, n+1)]) idx = 1 answer = [] while q: for i in range(k-1): q.append(q.popleft()) answer.append(q.popleft()) # 리스트의 요소들을 문자열로 변환 string_list = [str(item) for item in answer] # 리스트의..
파이썬)아기상어 -BOJ https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net from collections import deque n = int(input()) arr = [] shark_size = 2 eat = 0 dx = [0, 0, -1, 1] dy = [-1, 1, 0, 0] shark_x = 0 shar_y = 0 for i in range(n): a = (list(map(int, input().split()))) for j in range(len(a))..
파이썬)그림 - BOJ https://www.acmicpc.net/status?user_id=dlwnsgml203&problem_id=1926&from_mine=1 채점 현황 www.acmicpc.net from collections import deque n, m = map(int, input().split()) arr = [] for i in range(n): a = list(map(int, input().split())) arr.append(a) max_area = 0 dx = [0, 0, -1, 1] dy = [-1, 1, 0, 0] def bfs(i, j): area = 1 q = deque() q.append((i, j)) while q: x, y = q.popleft() for k in range(4): nx = ..
파이썬)내리막길 -BOJ https://www.acmicpc.net/problem/1520 1520번: 내리막 길 여행을 떠난 세준이는 지도를 하나 구하였다. 이 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 한 칸은 한 지점을 나타내는데 각 칸에는 그 지점의 높이가 쓰여 있으 www.acmicpc.net m, n = map(int, input().split()) arr = [] cnt = 0 for i in range(m): a = list(map(int, input().split())) arr.append(a) dx = [1, -1, 0, 0] dy = [0, 0, -1, 1] dp = [[-1] * n for _ in range(m)] def dfs(sx, sy): if sx == m-1 and s..
파이썬)안전영역 BOJ-2468 https://www.acmicpc.net/problem/2468 2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 www.acmicpc.net from collections import deque n = int(input()) max_area = 1 arr = [list(map(int, input().split()))for _ in range(n)] dx = [1, -1, 0, 0] dy = [0, 0, -1, 1] def bfs(arr, height): visit = [[False] * n for _ in range(n)] area = 0 f..
파이썬)뒤집기 https://www.acmicpc.net/problem/1439 1439번: 뒤집기 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모 www.acmicpc.net s = input() cnt = 0 for i in range(len(s) - 1): if s[i] != s[i+1]: cnt += 1 print((cnt+1) // 2) 이 문제는 은근 어려웠다. 연속되는 수열의 개수를 구해야하나? 라고 생각해 연속 수열을 구하는 쪽으로 접근했다. 하지만 시간초과가 나오게 되었고 s의 길이가 100만인 것을 보아 하나의 반복문으로 수행해야 한다는 것을 생각해내 ..