본문 바로가기

코딩테스트_백준풀이54

BOJ 연구소2, 연구소3 #17141, 17142 JAVA 조합과 BFS를 연습할 수 있는 연구소 2, 3를 풀었다. https://www.acmicpc.net/problem/17141 17141번: 연구소 2 인체에 치명적인 바이러스를 연구하던 연구소에 승원이가 침입했고, 바이러스를 유출하려고 한다. 승원이는 연구소의 특정 위치에 바이러스 M개를 놓을 것이고, 승원이의 신호와 동시에 바이러 www.acmicpc.net https://www.acmicpc.net/problem/17142 17142번: 연구소 3 인체에 치명적인 바이러스를 연구하던 연구소에 승원이가 침입했고, 바이러스를 유출하려고 한다. 바이러스는 활성 상태와 비활성 상태가 있다. 가장 처음에 모든 바이러스는 비활성 상태이고, www.acmicpc.net 0. 0의 개수를 세서 전부 다 찼는지 검.. 2024. 3. 1.
말이 되고픈 원숭이 #1600 JAVA G3 https://www.acmicpc.net/problem/1600 1600번: 말이 되고픈 원숭이 첫째 줄에 정수 K가 주어진다. 둘째 줄에 격자판의 가로길이 W, 세로길이 H가 주어진다. 그 다음 H줄에 걸쳐 W개의 숫자가 주어지는데, 0은 아무것도 없는 평지, 1은 장애물을 뜻한다. 장애물이 있 www.acmicpc.net BFS, DFS를 연습하기 좋은 문제를 풀었다. 처음에는 DFS로 접근을 했고 이후에 시간초과가 발생해서 BFS로 수정하였다. 아이디어로는 visited 3차원을 이용해야한다는 것이다. 각 움직임의 경우를 다르게 본다는 것이 문제해결의 핵심이었다. 처음에는 K번 이동을 어떻게 적절하게 해주지에 대한 고민이 있었는데 BFS가 알아서 돌아줄것이라고 생각하고 안의 로직을 변경해줬다. 로.. 2024. 3. 1.
BOJ 2493 탑 G5 Java https://www.acmicpc.net/problem/2493 2493번: 탑 첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1 www.acmicpc.net 처음꺼보다 큰지 작은지를 비교해야함. 전형적인 stack 자료구조 1.5초 가 마음에 조금 걸리긴한다. 스택을 생각못했다면 배열로 해야하는데 50만번 x 50만번 연산을 진행해야하므로 불가. 입력받으면서 처리해볼 수도 있지 않을까? => 왼쪽으로 쏘는 것이기 때문에 받는것의 다음것을 알아야풀 수 있다. 다 받아놓고 처리해야한다. 배열은 결국 이미 정렬된 것 중에 마지막에 들어간 것이 처음 나오는.. 2024. 2. 5.
BOJ 1244 스위치 켜고 끄기 JAVA https://www.acmicpc.net/problem/1244 1244번: 스위치 켜고 끄기 첫째 줄에는 스위치 개수가 주어진다. 스위치 개수는 100 이하인 양의 정수이다. 둘째 줄에는 각 스위치의 상태가 주어진다. 켜져 있으면 1, 꺼져있으면 0이라고 표시하고 사이에 빈칸이 하나씩 www.acmicpc.net import java.util.*; import java.io.*; public class 스위치켜고끄기 { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); in.. 2024. 1. 29.