본문 바로가기

반응형

코딩테스트 연습/백준(python)

(4)
[백준](실버1) 미로 탐색 미로 탐색 문제 설명 더보기 입력 더보기 출력 더보기 입출력 예 더보기 입력 #1 4 6 101111 101010 101011 111011 출력 #1 15 입력 #2 4 6 110110 110110 111111 111101 출력 #2 9 입력 #3 2 25 1011101110111011101110111 1110111011101110111011101 출력 #3 38 입력 #4 7 7 1011111 1110001 1000001 1000001 1000001 1000001 1111111 출력 #4 13 문제 요약 NxM 크기 미로의 (1,1)에서 출발하여 (N,M)위치로 이동할 때 지나야 하는 최소 칸 수 return 상하좌우로 인접한 칸으로만 이동 가능 1(이동O), 0(이동X) 해결방법 1. 입력 코드 im..
[백준](골드5) 적록색약 적록색약 문제 설명 더보기 입력 더보기 출력 더보기 입출력 예 더보기 입력 #1 5 RRRBB GGBBB BBBRR BBRRR RRRRR 출력 #1 4 3 문제 요약 R(빨강), G(초록), B(파랑)으로 칠한 NxN 크기 그림 같은 색상이 상하좌우로 인접해있는 경우 같은 구역에 속함 적록색약인 사람(RG, B)과 적록색약이 아닌 사람(R, G, B)이 본 구역의 수 return 적록색약인 사람은 R, G를 구분할 수 없음 해결방법 1. 입력 코드 import sys input = sys.stdin.readline N = int(input()) image = [] for i in range(N): image.append(input()) 2. 변수 생성 및 초기화 visited : NxN 행렬 0 : 방문..
[백준](실버3) 바이러스 바이러스 문제 설명 더보기 입력 더보기 출력 더보기 입출력 예 더보기 입력 #1 7 6 1 2 2 3 1 5 5 2 5 6 4 7 출력 #1 4 문제 요약 BFS 또는 DFS로 1번 컴퓨터와 연결된 컴퓨터 탐색 1번 컴퓨터와 같은 네트워크에 있는 컴퓨터 수 return 1번 컴퓨터는 제외 해결방법 1. 입력 및 그래프 구현 : 인접 리스트 graph (type: dict) 양방향 간선 정보 구현 연결된 컴퓨터의 수만 구하면 되는 문제로 정렬 불필요 코드 import sys input = sys.stdin.readline n = int(input()) graph = {i+1:[] for i in range(n)} m = int(input()) for i in range(m): n1, n2 = map(in..
[백준](실버2) DFS와 BFS DFS와 BFS 문제 설명 더보기 입력 더보기 출력 더보기 입출력 예 더보기 입력 #1 4 5 1 1 2 1 3 1 4 2 4 3 4 출력 #1 1 2 4 3 1 2 3 4 입력 #2 5 5 3 5 4 5 2 1 2 3 4 3 1 출력 #2 3 1 2 5 4 3 1 4 2 5 입력 #3 1000 1 1000 999 1000 출력 #3 1000 999 1000 999 문제 요약 정점의 개수 N, 양방향 간선 M개인 그래프를 V에서 시작하여 DFS 수행한 결과, BFS로 수행한 결과를 출력 해결방법 1. 입력 및 그래프 구현 : 인접 리스트 graph (type: dict) graph[n1] = [n2, n3, ...] n1 → n2, n1 → n3, ... 간선 간선 n1 n2이 양방향인 경우, graph..

반응형