본문 바로가기

코딩 테스트61

백준 17142 연구소 3 - 삼성 SW 역량 테스트 기출 백준 17142 연구소 3 - 삼성 SW 역량 테스트 기출 1. 문제 링크 https://www.acmicpc.net/problem/17142 17142번: 연구소 3 인체에 치명적인 바이러스를 연구하던 연구소에 승원이가 침입했고, 바이러스를 유출하려고 한다. 바이러스는 활성 상태와 비활성 상태가 있다. 가장 처음에 모든 바이러스는 비활성 상태이고 www.acmicpc.net 2. 문제 해결에 대한 아이디어 1. 이 문제에서 생각해야하는 로직은 크게 2가지였다. 2. 바이러스를 놓을 수 있는 위치 중 M 개를 골라 각 케이스 별로 조사해야 한다. . 이는 조합을 활용하여 쉽게 해결할 수 있다. . 한 케이스가 끝난 후 연구소 배열과 방문 배열을 초기화해줘야 한다. 3. 비활성 바이러스는 이미 전파되어 있.. 2021. 9. 8.
백준 2174 로봇 시뮬레이션 백준 2174 로봇 시뮬레이션 1. 문제 링크 https://www.acmicpc.net/problem/2174 2174번: 로봇 시뮬레이션 첫째 줄에 두 정수 A, B가 주어진다. 다음 줄에는 두 정수 N, M이 주어진다. 다음 N개의 줄에는 각 로봇의 초기 위치(x, y좌표 순) 및 방향이 주어진다. 다음 M개의 줄에는 각 명령이 명령을 내리는 순 www.acmicpc.net 2. 문제 해결에 대한 아이디어 1. input의 2차원 배열 인덱스가 좌측 하단부터 시작되므로, 익숙한 형태로 보정해야 한다. 2. 명령 정보를 담을 Command 클래스, 로봇 정보를 담을 Robot 클래스가 필요하다. 3. Robot 타입의 2차원 배열을 선언하고, 그 위에서 로봇을 움직인다. 4. 나머지는 문제에서 요구하.. 2021. 9. 7.
백준 7576 토마토 백준 7576 토마토 1. 문제 링크 https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 2. 문제 해결에 대한 아이디어 1. input으로 토마토 상자에 대한 정보를 받을 때, 익은 토마토의 위치를 큐에 담는다. 2. 큐가 빌 때까지 BFS를 통해 안 익은 토마토를 익게 한다. 3. 이 때 weight 배열에 토마토가 익은 날짜를 기록한다. 4. BFS가 끝나면 토마토 상자를 순회하며 안 익은 토마토가 있는지 확인하고, 최대가중치.. 2021. 9. 7.
백준 1012 유기농 배추 백준 1012 유기농 배추 1. 문제 링크 https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 2. 문제 해결에 대한 아이디어 input으로 들어온 2차원 배열을 순회하며 1(배추가 심어져 있는 땅)에 대해 BFS를 수행한다 BFS를 수행한 카운트를 출력한다. 3. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.ut.. 2021. 9. 6.
백준 4963 섬의 개수 백준 4963 섬의 개수 1. 문제 링크 https://www.acmicpc.net/problem/4963 4963번: 섬의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도 www.acmicpc.net 2. 문제 해결에 대한 아이디어 1. Input으로 받은 2차원 배열을 순회하면서 1로 되어 있는 위치에서 BFS를 수행한다. 2. BFS를 수행한 카운트를 출력한다. 3. 대각선도 접근할 수 있는 것을 간과하면 안 된다. 3. 코드 import java.io.BufferedReader; import java.io.IOException; import .. 2021. 9. 6.
백준 14502 연구소 - 삼성 SW 역량 테스트 기출 백준 14502 연구소 - 삼성 SW 역량 테스트 기출 1. 문제 링크 https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 2. 문제 해결에 대한 아이디어 1. 이 문제는 벽 3개를 세우는 케이스마다 각각 조사하여 안전영역의 최댓값을 계속 갱신해야 한다. 2. Input으로 연구소 정보에 대한 배열을 받을 때, 두 가지 배열을 사용한다. . board : 각 케이스별로 BFS를 수행할 때 사용할 연구소 정보 . copyBoard : 각 케이스가 끝난 후 boa.. 2021. 9. 5.