Java53 [백준 Gold 4] 17142 연구소 3 - Java 문제링크 : https://www.acmicpc.net/problem/17142 17142번: 연구소 3 인체에 치명적인 바이러스를 연구하던 연구소에 승원이가 침입했고, 바이러스를 유출하려고 한다. 바이러스는 활성 상태와 비활성 상태가 있다. 가장 처음에 모든 바이러스는 비활성 상태이고 www.acmicpc.net 접근 과정 : 연구소의 빈칸에 모두 바이러스가 있게 만드는 시간을 구하는 문제이다. 활성화 여부에 상관없이, 모든 칸에 바이러스가 있으면 된다.. 활성화 바이러스를 선택하는 조합을 구성하고, 각 조합에 따라 BFS로 바이러스가 퍼지는 시뮬레이션을 실시한다. BFS에서는 미리 체크한 빈칸의 갯수(벽과 바이러스를 제외한)를 확인하면서 빈칸이 0이 되었을 때 리턴한다. 소스 코드 및 결과 : pac.. 2021. 12. 27. [백준 Gold 5] 1068 트리 - Java 문제링크 : https://www.acmicpc.net/problem/1068 1068번: 트리 첫째 줄에 트리의 노드의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 0번 노드부터 N-1번 노드까지, 각 노드의 부모가 주어진다. 만약 부모가 없다면 (루트) -1이 주어진다 www.acmicpc.net 접근 과정 : 트리에 속한 노드 중 하나를 삭제했을 때, 남아있는 리프노드의 갯수를 구하는 문제이다. 노드를 삭제하면 그 노드의 자식 노드들도 같이 삭제된다. 우선 자식노드를 저장하는 List 를 생성했다. 그리고 삭제할 노드부터 그 이하 자식노드를 모두 boolen[] removed에 체크했다. 이제 0번 노드부터 N-1번 노드까지 순회하면서, 현재 리프노드인 것만 계산했다. .. 2021. 12. 27. [백준 Gold 5] 15683 감시 - Java 문제링크 : https://www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감 www.acmicpc.net 접근 과정 : CCTV의 방향을 다 돌려보면서 완전탐색했다. 관건은. CCTV방향을 얼마나 효율적으로 돌리느냐 라고 생각했다. 방향을 상하좌우로 나눠서 어떤 하나의 방향이 주어질 때, 그 방향으로 모두 감시하는 함수를 설정하고 카메라의 종류에 따라 방향들을 주면서 확인했다. 카메라가 보고 있는 곳은 int[][] 에서 -1 시켜가면서 체크했다. dfs로 카메라를 하나하나, .. 2021. 12. 26. [백준 Gold 2] 17143 낚시왕 - Java 문제링크 : https://www.acmicpc.net/problem/17143 17143번: 낚시왕 낚시왕이 상어 낚시를 하는 곳은 크기가 R×C인 격자판으로 나타낼 수 있다. 격자판의 각 칸은 (r, c)로 나타낼 수 있다. r은 행, c는 열이고, (R, C)는 아래 그림에서 가장 오른쪽 아래에 있는 칸이다. www.acmicpc.net 접근 과정 : 우선 1,1 부터 시작하는 좌표를 바꾸지 그대로 사용하려고 했다. 매번 낚시와 상어이동 이후에 좌표를 모두 바꿔주는 상황을 만들지 않기위해, 3차원 배열을 사용했다.. 상어가 같은 방향을 가지고 원래 자리로 돌아오는 것은 s = (범위-1)x2 인 것을 고려하여 s % (범위-1)x2를 적용. 그리고 상어 이동을 점화식으로 만들려고 했는데... 생각나.. 2021. 12. 26. 이전 1 ··· 6 7 8 9 10 11 12 ··· 14 다음