전체 글(22)
-
백준 알고리즘 17142_연구소 3 C
문제 (링크)17142번: 연구소 3 (acmicpc.net) 17142번: 연구소 3 인체에 치명적인 바이러스를 연구하던 연구소에 승원이가 침입했고, 바이러스를 유출하려고 한다. 바이러스는 활성 상태와 비활성 상태가 있다. 가장 처음에 모든 바이러스는 비활성 상태이고 www.acmicpc.net 사고과정 먼저 4방향으로 퍼지고, 퍼지는데 걸리는 총 시간을 구하는 것이므로 bfs(queue)를 이용해야한다. 그리고 바이러스중 활성바이러스로 만들 것을 고르는 것은 N중 반복문이나 재귀함수를 사용하면 되는데 고르는 수가 변수이므로 재귀함수를 이용하면 편할 것이다. 그리고 각 경우 중 가장 짧은 소요시간을 구하는데, 어떤 경우에도 모든 칸을 확산시키지 못하면 -1을 출력해야 하므로 각 경우마다 전체 맵을 탐색..
2021.03.05 -
백준 알고리즘 17140_이차원 배열과 연산 C++
문제 (링크)17140번: 이차원 배열과 연산 (acmicpc.net) 17140번: 이차원 배열과 연산 첫째 줄에 r, c, k가 주어진다. (1 ≤ r, c, k ≤ 100) 둘째 줄부터 3개의 줄에 배열 A에 들어있는 수가 주어진다. 배열 A에 들어있는 수는 100보다 작거나 같은 자연수이다. www.acmicpc.net 사고과정 문제에서 r과 c는 1부터 시작한다고 하였으므로, 실제 배열에서는 A[r-1][c-1]을 탐색해야한다는 것을 주의해야한다. 또한 열과 행의 길이가 100을 넘지 않는다고 한 조건을 잘 활용해야한다. 또한 문제에서 특정한 정렬 조건을 제시하고 있으므로 map과 sort함수를 사용하면 편하겠다고 생각했다. 이후 c나 r연산을 할 때 한줄 씩 진행하면 된다. 내코드 #inclu..
2021.03.04 -
백준 알고리즘 17143_낚시왕 C
문제 (링크)17143번: 낚시왕 (acmicpc.net) 17143번: 낚시왕 낚시왕이 상어 낚시를 하는 곳은 크기가 R×C인 격자판으로 나타낼 수 있다. 격자판의 각 칸은 (r, c)로 나타낼 수 있다. r은 행, c는 열이고, (R, C)는 아래 그림에서 가장 오른쪽 아래에 있는 칸이다. www.acmicpc.net 사고과정 처음 문제를 접할 땐 문제를 푸는 방법 자체는 그리 어렵지 않을 거라 생각했다. 하지만 상어의 정보를 어떤식으로 저장하느냐가 관건이었다. 그래서 나는 map에 상어의 이름을 저장하고, 그 상어의 이름을 index로 하는 구조체 배열에 상어의 정보를 저장했다. 이렇게 하면 map을 전체 탐색하지 않고 상어의 개수만큼만 탐색할 수 있기 때문이고, 필요없는 메모리 사용을 줄일 수 있..
2021.03.03 -
백준 알고리즘 17144_미세먼지 안녕 C
문제 (링크)17144번: 미세먼지 안녕! (acmicpc.net) 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net 사고과정 문제에서 요구하는대로 먼지확산 -> 공기순환의 과정만 조건대로 구현하면 된다. 그래서 사용한 함수는 2개! 처음엔 탐색횟수를 줄이기 위해 먼지의 위치를 저장하는 배열을 만들까 했는데, 빈공간으로도 먼지가 확산되기 때문에 map전체를 탐색하는 것이 마음이 편할 것 같았다. 내코드 #include #include #define FRESHER -1 int width, height, time;..
2021.02.27 -
2021_02_26] 친구 졸업을 축하해주고 왔다
오늘 내 몇 안되는 대학친구의 졸업식에 다녀왔다. 이 친구와는 교양수업 조별과제에서 만난 특이한 인연인데 벌써 4년쨰 우정을 이어가고있다. 코로나 시국이라 졸업식은 없었지만 많은 사람들이 학위복을 입고 친구/가족들과 행복하게 사진을 찍는 것을 보고 있으니, 나도 빨리 졸업이 하고 싶어졌다. 사실 졸업을 하게되면 취업압박이 더 심해지겠지만.......... 그래도 졸업은 하고싶다. 사실 나도 대학생이 제일 마음 편한 시기라는 것을 안다. 그래서 졸업이 하기싫다...... 졸업을 하고 싶지만, 졸업을 피하고 싶은 양가적인 마음은 좀처럼 해소되지 않는다. --대학원은 죽어도 취업전엔 가고 싶지 않다-- 어쨌든, 나도 1년 뒤면 졸업을 하게 될텐데, 그때까지 무사할 수 있을지가 걱정되었다. 오늘도 수강신청 때문..
2021.02.26 -
백준 알고리즘 16236_아기상어 C
문제 (링크)16236번: 아기 상어 (acmicpc.net) 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net 사고과정 문제를 풀때 어떻게 접근할까 생각을하는데 조금 애먹은 문제다. 중 에 위치한 물고기를 먼저 먹으라는 조건이 있기 때문이다. 먼저, 최단 거리를 우선으로 찾으려면 bfs를 사용하는 것이 좋다. 현재 상어의 위치로부터 거리순으로 탐색할 수 있기 떄문이다. 대신 같은 거리에 존재하는 물고기가 여러마리면 위/왼쪽 방향의 물고기를 먼저 먹는다고 했으니 그 부분도 고려해줘야 한다. 최대한 피요없는..
2021.02.26