baekjoon 383

[baekjoon] 백준 16918번(파이썬): 봄버맨

문제 16918번: 봄버맨 첫째 줄에 R, C, N (1 ≤ R, C, N ≤ 200)이 주어진다. 둘째 줄부터 R개의 줄에 격자판의 초기 상태가 주어진다. 빈 칸은 '.'로, 폭탄은 'O'로 주어진다. www.acmicpc.net 알고리즘 - 매 단계마다 함수를 만들어 문제에서 원하는 모션을 수행한다. - 단계마다 시간초를 -1을 해주면서 시간 초가 다 지났을 때, 그래프 모양을 출력한다. 코드 import sys from collections import deque # 1단계 def loc_bomb(): for i in range(r): for j in range(c): if graph[i][j] == 'O': bomb.append((i, j)) # 3단계 def full_bomb(): for i i..

CodingTest/Baekjoon 2021.08.15

[baekjoon] 백준 12852번(파이썬): 1로 만들기 2

문제 12852번: 1로 만들기 2 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 자연수 N이 주어진다. www.acmicpc.net 알고리즘 - bfs 탐색을 통해 문제를 수행한다. - if문을 통해 각 조건에 맞으면 큐에 추가한다. - 리스트의 원소가 1이면 리스트를 리턴받는다. 코드 import sys from collections import deque # bfs 탐색 def bfs(v): queue = deque([[v]]) while queue: # 큐 리스트에서 제일 작은 리스트부터 확인 target = queue.popleft() # 제일 작은 리스트에서 제일 작은 원소부터 확인 temp = target[0] # 원소가 1이면 그 리스트를 리턴 if temp == 1: return..

CodingTest/Baekjoon 2021.08.14

[baekjoon] 백준 7569번(파이썬): 토마토

문제 7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net 알고리즘 - bfs 탐색을 통해 문제를 수행한다. - 토마토의 위치를 미리 저장해서 bfs 탐색을 한다. - 탐색이 모두 끝나고도 익지 않은 토마토가 있으면 -1을 출력한다. 밑에 문제를 풀고 이 문제를 풀면 좋을 듯하다. [baekjoon] 백준 7576번(파이썬): 토마토 문제 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단,..

CodingTest/Baekjoon 2021.08.13

[baekjoon] 백준 5639번(파이썬): 이진 검색 트리

문제 5639번: 이진 검색 트리 트리를 전위 순회한 결과가 주어진다. 노드에 들어있는 키의 값은 106보다 작은 양의 정수이다. 모든 값은 한 줄에 하나씩 주어지며, 노드의 수는 10,000개 이하이다. 같은 키를 가지는 노드는 없다 www.acmicpc.net - 이진 검색 트리는 다음과 같은 세 가지 조건을 만족하는 이진 트리이다. 노드의 왼쪽 서브트리에 있는 모든 노드의 키는 노드의 키보다 작다. 노드의 오른쪽 서브트리에 있는 모든 노드의 키는 노드의 키보다 크다. 왼쪽, 오른쪽 서브트리도 이진 검색 트리이다. - 전위 순회 (루트-왼쪽-오른쪽)은 루트를 방문하고, 왼쪽 서브트리, 오른쪽 서브 트리를 순서대로 방문하면서 노드의 키를 출력한다. - 후위 순회 (왼쪽-오른쪽-루트)는 왼쪽 서브트리, ..

CodingTest/Baekjoon 2021.08.11

[baekjoon] 백준 5567번(파이썬): 결혼식

문제 5567번: 결혼식 예제 1의 경우 2와 3은 상근이의 친구이다. 또, 3과 4는 친구이기 때문에, 4는 상근이의 친구의 친구이다. 5와 6은 친구도 아니고, 친구의 친구도 아니다. 따라서 2, 3, 4 3명의 친구를 결혼식에 초대 www.acmicpc.net - 상근이는 자신의 결혼식에 학교 동기 중 자신의 친구와 친구의 친구를 초대하기로 했다. - 상근이의 동기는 모두 N명이고, 이 학생들의 학번은 모두 1부터 N까지이다. - 상근이의 학번은 1이다. - 상근이는 동기들의 친구 관계를 모두 조사한 리스트를 가지고 있다. - 이 리스트를 바탕으로 결혼식에 초대할 사람의 수를 구하는 문제이다. - 상근이의 동기의 수 n (2 ≤ n ≤ 500)이 주어진다. - 리스트의 길이 m (1 ≤ m ≤ 10..

CodingTest/Baekjoon 2021.08.10

[baekjoon] 백준 2583번(파이썬): 영역 구하기

문제 2583번: 영역 구하기 첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오 www.acmicpc.net - 눈금의 간격이 1인 M×N(M,N≤100)크기의 모눈종이가 있다. - 이 모눈종이 위에 눈금에 맞추어 K개의 직사각형을 그릴 때, 이들 K개의 직사각형의 내부를 제외한 나머지 부분이 몇 개의 분리된 영역으로 나누어진다. - 예를 들어 M=5, N=7 인 모눈종이 위에 과 같이 직사각형 3개를 그렸다면, 그 나머지 영역은 와 같이 3개의 분리된 영역으로 나누어지게 된다. - 와 같이 분리된 세 영역의 넓이는 각각 1, 7, 13이 된다..

CodingTest/Baekjoon 2021.08.09

[baekjoon] 백준 2468번(파이썬): 안전 영역

문제 2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 www.acmicpc.net - 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. - 먼저 어떤 지역의 높이 정보를 파악한다. - 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 안전한 영역이 최대로 몇 개가 만들어 지는 지를 조사하려고 한다. - 이때, 문제를 간단하게 하기 위하여, 장마철에 내리는 비의 양에 따라 일정한 높이 이하의 모든 지점은 물에 잠긴다고 가정한다. - 어떤 지역의 높이 정보는 행과 열의 크기가 각각 N인 2차원 배열 형..

CodingTest/Baekjoon 2021.08.08

[baekjoon] 백준 1926번(파이썬): 그림

문제 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로 www.acmicpc.net - 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. - 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. - 가로나 세로로 연결된 것은 연결이 된 것이고 대각선으로 연결이 된 것은 떨어진 그림이다. - 그림의 넓이란 그림에 포함된 1의 개수이다. - 도화지의 세로 크기 n(1 ≤ n ≤ 500)과 가로 크기 m(1 ≤ m ≤ 500)이 차례로 주어진다. - 그림의 정보가 주어진다..

CodingTest/Baekjoon 2021.08.07

[baekjoon] 백준 1743번(파이썬): 음식물 피하기

문제 1743번: 음식물 피하기 첫째 줄에 통로의 세로 길이 N(1 ≤ N ≤ 100)과 가로 길이 M(1 ≤ M ≤ 100) 그리고 음식물 쓰레기의 개수 K(1 ≤ K ≤ N×M)이 주어진다. 그리고 다음 K개의 줄에 음식물이 떨어진 좌표 (r, c)가 주어진다 www.acmicpc.net - 코레스코 콘도미니엄 8층은 학생들이 3끼의 식사를 해결하는 공간이다. - 그러나 몇몇 비양심적인 학생들의 만행으로 음식물이 통로 중간 중간에 떨어져 있다. - 이러한 음식물들은 근처에 있는 것끼리 뭉치게 돼서 큰 음식물 쓰레기가 된다. - 따라서 선생님은 떨어진 음식물 중에 제일 큰 음식물만은 피해 가려고 한다. - 통로의 세로 길이 N(1 ≤ N ≤ 100)과 가로 길이 M(1 ≤ M ≤ 100) 그리고 음식물..

CodingTest/Baekjoon 2021.08.06