본문 바로가기

전체 글

(107)
[백준] 19941 햄버거 https://www.acmicpc.net/problem/19941n, k = map(int, input().split())s = list(input()) # 문자열을 리스트로 변환ans = 0# 모든 사람의 위치에서 가장 가까운 햄버거를 탐색for i in range(n): if s[i] == 'P': # 현재 위치에 사람이 있는 경우 # i-K부터 i+K까지의 범위에서 햄버거를 탐색 for j in range(max(0, i - k), min(n, i + k + 1)): if s[j] == 'H': # 햄버거가 있다면 먹음 s[j] = '0' # 해당 햄버거를 '먹음' 상태로 변경 ans +..
[백준] 2468 안전영역 BFS from collections import dequen = int(input())arr = [list(map(int, input().split())) for _ in range(n)]def bfs(i,j,k,visited):    q=deque()    q.append([i,j])    dx=[0,0,1,-1]    dy=[1,-1,0,0]    while q:        y,x = q.popleft()        visited[y][x] = True        for i in range(4):            y_=y+dy[i]            x_=x+dx[i]            if 0y_n and 0x_n and not visited[y_][x_] and arr[y_][x_]>k: ..
[백준] 2573 - 빙산 BFS (Python3) https://www.acmicpc.net/problem/2573 바다 0과 각 빙산의 높이(1 이상의 정수)가 담긴 이차원 배열이 있다.매년 각 빙산은 주변에 둘러쌓인 바다의 면 수 만큼 높이가 줄어든다.빙산이 2개 이상의 조각으로 분리될 때까지 걸리는 년수? 비슷한 문제는 백준에 '그림' 문제가 있다연결된 1의 개수를 세어서 그림 위에 색칠된 영역 덩어리가 몇 개인지 세는 것거기에서 매년 높이가 줄어드는 로직만 추가됨https://www.acmicpc.net/problem/1926그림 문제와 같이 우선 각 덩어리를 세는 함수를 추가한다 1. 각 빙산의 덩어리 수를 구하는 함수이중 for문으로 입력 배열을 탐새하면서, 방문한 적이 없고, 빙산인 경우(바다가 아닌 경우)해당 점을 시작으로 빙산을 탐색한다..