본문 바로가기

PS

(77)
[BOJ]14502번: 연구소 https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 알고리즘 분류 그래프 이론 그래프 탐색 브루트 포스 알고리즘 너비 우선 탐색 내가 정리한 문제의 프로세스는 아래와 같다. 1. 세균의 위치를 찾는다. 2. 빈칸에 벽을 설치한다. 3. 벽을 설치 후 세균을 확산시킨다. 4. 안전지대를 Count 한다. 1. 초기 세팅 때 Virus라는 ArrayList에 넣어준다. 2. WallSet 메서드를 DFS 형식으로 빈칸에 벽을 설치하며 벽의 위치를 Stack에 쌓아..
[BOJ]16234번: 인구 이동 https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net 알고리즘 분류 구현 그래프 이론 그래프 탐색 너비 우선 탐색 시뮬레이션 문제 설명 내가 파악한 문제의 요지는 다음과 같다 1. 각 칸이 하나의 국가이고 인접한 국가끼리의 인구수 차이가 L과 R 범위 내라면 국경을 열어 인구 이동을 시작한다. 2. 인구 이동 후 각 칸의 인구수는 (연합의 인구수) / (같은 연합의 수)이다. (여기서 같은 연합의 수 라고 표현한 것은 다수의 연합이 발..
[Programmers] LV2 - 게임 맵 최단거리 https://programmers.co.kr/learn/courses/30/lessons/1844 코딩테스트 연습 - 게임 맵 최단거리 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,1],[0,0,0,0,1]] 11 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,0],[0,0,0,0,1]] -1 programmers.co.kr 문제 입출력 예 BFS를 활용하여 푸는 문제이다. 마지막 상대 진영까지 가지 못할 경우 -1을 return 해주는 부분만 잘 처리해주면 무난한 문제 더보기 import java.util.*; class Solution { static int n,m; static int[] dx = {-1,1,0,0}; sta..
[Programmers]LV2 - 예상대진표 https://programmers.co.kr/learn/courses/30/lessons/12985 코딩테스트 연습 - 예상 대진표 △△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N programmers.co.kr 입출력 예와 설명 문제를 읽으며 30~40분 정도 고민하다 보니 번호가 짝수 일 경우에는 번호 / 2 가 다음 라운드의 자기 숫자가 되고 번호가 홀수 일 경우에는 번호 / 2 +1이 다음 라운드의 자기가 숫자가 된다. 항상 이긴다고 가정했으므로 인원이 반으로 줄어들며 번호가 새로 매겨지다가 결국 같은 번호가 되는 시점이 A와 B가 붙게 ..
[BOJ]17144번 : 미세먼지 안녕! https://www.acmicpc.net/problem/17144 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net 알고리즘 분류 구현 시뮬레이션 내가 정리한 문제의 요점은 다음과 같다. 1. 확산 단계 (Spread 메서드) - 미세먼지가 있는 상, 하, 좌, 우로 확산이 되며 확산되는 양은 map[r][c] /5 만큼이고 확산된 방향만큼 map[r][c]의 양이 줄어든다 (map[r][c]/5) * 확산된 방향의 수 // 다른 곳에서도 같은 칸에 확산되는 경우 누적 계산 (단, 공기청정기가 있는 곳이거나 ..
[BOJ] 1958번: LCS 3 문제 링크 : https://www.acmicpc.net/problem/1958 1958번: LCS 3 첫 줄에는 첫 번째 문자열이, 둘째 줄에는 두 번째 문자열이, 셋째 줄에는 세 번째 문자열이 주어진다. 각 문자열은 알파벳 소문자로 이루어져 있고, 길이는 100보다 작거나 같다. www.acmicpc.net 알고리즘 분류 * 다이나믹 프로그래밍 * 문자열 9251번 문제 LCS https://www.acmicpc.net/problem/9251 9252번 문제 LCS 2 https://www.acmicpc.net/problem/9252 위의 두 문제에 이어서 LCS 3 문제이다. 기존 문제는 문자열 2개를 기준으로 최장 공통 부분 수열을 구했다면 이번 문제는 문자열 3개를 기준으로 문제를 풀어나가야 한..
[BOJ] 1145번 : 적어도 대부분의 배수 https://www.acmicpc.net/problem/1145 1145번: 적어도 대부분의 배수 첫째 줄에 다섯 개의 자연수가 주어진다. 100보다 작거나 같은 자연수이고, 서로 다른 수이다. www.acmicpc.net 분류 : 수학 , 탐색 더보기 public class Main { public static PrintWriter out; public static void main(String[] args) throws IOException { MyScanner sc = new MyScanner(); out = new PrintWriter(new BufferedOutputStream(System.out)); int[] arr = new int[5]; for(int idx =0; idx=3 일 경우 ..
[BOJ] 9517번 : 아이 러브 크로아티아 https://www.acmicpc.net/problem/9517 9517번: 아이 러브 크로아티아 "I love Croatia"는 네델란드의 인기 티비 프로그램 "I love my country"의 포맷 라이센스를 수입해 만든 크로아티아의 티비쇼이다. 이 티비쇼에서 가장 인기있는 게임은 "Happy Birthday"이며, 이 게임에 대한 www.acmicpc.net 알고리즘 분류 : 시뮬레이션 더보기 public class Main { public static PrintWriter out; public static void main(String[] args) throws IOException { MyScanner sc = new MyScanner(); out = new PrintWriter(new Bu..