반응형

분류 전체보기 282

[백준 2573] 빙산 C++

문제 백준 2573 빙산 C++ 2573번: 빙산 첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다. N과 M은 3 이상 300 이하이다. 그 다음 N개의 줄에는 각 줄마다 배열의 각 행을 www.acmicpc.net 풀이 일반적인 bfs 문제입니다. 1. melt() 함수로 주변에 바닷물 만큼 빙산의 크기를 감소시켜줍니다. 2. 빙산이 모두 0이 됐다면 0을 출력해줍니다. 3. 빙산이 있다면 (0이 아닌 숫자가 있다면) bfs를 통해 빙산의 개수를 세어줍니다. 4. 빙산의 개수가 2개 이상이라면, 걸린 시간 t를 출력합니다. 소스 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ..

알고리즘/백준 2021.10.31

[백준 1261] 알고스팟 C++

문제 백준 1261 알고스팟 C++ 1261번: 알고스팟 첫째 줄에 미로의 크기를 나타내는 가로 크기 M, 세로 크기 N (1 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 미로의 상태를 나타내는 숫자 0과 1이 주어진다. 0은 빈 방을 의미하고, 1은 벽을 의미 www.acmicpc.net 풀이 1. 시작점부터 bfs를 실행하여 목적지까지 도달하는 경로를 찾습니다. 2-1. 목적지에 도달하지 못했다면, 이번 bfs를 실행하는 동안 만난 벽(1)들을 빈 방(0)으로 바꿔줍니다. 2-2. 목적지에 도달했다면, 지금까지 실행했던 bfs 횟수 - 1을 출력합니다. 3. 목적지에 도달할 수 있을 때까지 1 ~ 2 과정을 반복합니다. 소스 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14..

알고리즘/백준 2021.10.30

[백준 17144] 미세먼지 안녕! C++

문제 백준 17144 미세먼지 안녕! C++ 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net 풀이 빡구현 문제입니다. 문제 이해 자체가 어렵진 않았지만, 구현과정에서 시간이 꽤 소요되었습니다. index 에러를 주의하며 풀었습니다. 1. 입력을 받고 공기청정기의 위치를 저장합니다. (위 / 아래에 나눠서 저장) 2. 먼지를 확산시킵니다. 2-1. 해당칸에 먼지가 있다면 상하좌우로 확산시켜 temp 배열에 저장합니다. 확산할 수 없다면 확산하지 않습니다. 2-2. 먼지는 동시에 확산하므로 temp 배열에 저장시..

알고리즘/백준 2021.10.29

[Unity] Debug.DrawRay

개요 디버그 관련 함수, Gizmos가 켜져 있다면 Scene창에 Ray를 그린다. (Game 상에서는 보이지 않는다.) 선언 public static function DrawRay(Vector3 start, Vector3 dir, Color color, float duration, bool depthTest): void; 공식 API 문서 월드 좌표에서 start(시작 지점)에서 start + /dir/(시작점 + 방향)까지 선을 그립니다. /duration/은 명령을 발행하고 나서 라인이 그려지고 사라질 때까지의 시간(초)입니다. duration이 0인 경우 1 프레임만 표시됩니다. /depthTest/가 true로 설정되어 있는 경우, 라인이 카메라에서 가까운 오브젝트에 의해 가려졌을 때 라인을 숨..

게임 엔진/Unity 2021.10.27

[백준 1707] 이분 그래프 C++

문제 백준 1707 이분 그래프 C++ 1707번: 이분 그래프 입력은 여러 개의 테스트 케이스로 구성되어 있는데, 첫째 줄에 테스트 케이스의 개수 K가 주어진다. 각 테스트 케이스의 첫째 줄에는 그래프의 정점의 개수 V와 간선의 개수 E가 빈 칸을 사이에 www.acmicpc.net 풀이 모든 정점을 bfs로 돌면서 색깔을 확인해줍니다. 인근 노드와 색깔이 같다면 이분 그래프가 아니므로 즉시 break 후 Ispipartite를 false로 설정합니다. 소스 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 ..

알고리즘/백준 2021.10.26

[백준 3055] 탈출 C++

문제 백준 3055 탈출 C++ 3055번: 탈출 사악한 암흑의 군주 이민혁은 드디어 마법 구슬을 손에 넣었고, 그 능력을 실험해보기 위해 근처의 티떱숲에 홍수를 일으키려고 한다. 이 숲에는 고슴도치가 한 마리 살고 있다. 고슴도치는 제 www.acmicpc.net 풀이 고슴도치의 위치에서 bfs를 실행합니다. time이 늘어날 때만, 물을 확산해줍니다. 소스 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 ..

알고리즘/백준 2021.10.21

[백준 1197] 최소 스패닝 트리 C++

문제 백준 1197 최소 스패닝 트리 C++ 1197번: 최소 스패닝 트리 첫째 줄에 정점의 개수 V(1 ≤ V ≤ 10,000)와 간선의 개수 E(1 ≤ E ≤ 100,000)가 주어진다. 다음 E개의 줄에는 각 간선에 대한 정보를 나타내는 세 정수 A, B, C가 주어진다. 이는 A번 정점과 B번 정점이 www.acmicpc.net 풀이 크루스칼 알고리즘을 이용합니다. 1. 간선들을 가중치 기준 오름차순으로 정렬합니다. 2. 간선의 시작과 끝이 연결되지 않았다면 (부모가 같지 않다면) 연결하고 가중치를 더해줍니다. 2-1. 시작과 끝이 연결된 경우에는 해당 간선은 연결할 필요가 없으므로 무시합니다. 3. 간선 배열을 모두 확인해 준 뒤 답을 출력합니다. 소스 코드 1 2 3 4 5 6 7 8 9 10..

알고리즘/백준 2021.10.20
반응형