본문 바로가기

알고리즘/백준 - 골드4

백준 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.
백준 2573 빙산 백준 2573 빙산 1. 문제 링크 https://www.acmicpc.net/problem/2573 2573번: 빙산 첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다. N과 M은 3 이상 300 이하이다. 그 다음 N개의 줄에는 각 줄마다 배열의 각 행을 www.acmicpc.net 2. 문제 해결에 대한 아이디어 1. 1년이 지날 때마다 바다와 맞닿은 빙산이 최대 4까지 그 크기가 줄어든다. 2. 이때, 현재의 맵에 바로 반영하는 게 아니라, 임시 맵(copyBoard)을 만들어 다음 해의 빙산의 크기를 기록한다. 3. 나누는 이유는 현재 맵에 반영할 경우, 원래보다 맞닿는 면이 많아져 빙산이 더 녹게 계산될 수 있기 때문이다. 4... 2021. 9. 5.
백준 4179 불! 백준 4179 불! 1. 문제 링크 https://www.acmicpc.net/problem/4179 4179번: 불! 입력의 첫째 줄에는 공백으로 구분된 두 정수 R과 C가 주어진다. 단, 1 ≤ R, C ≤ 1000 이다. R은 미로 행의 개수, C는 열의 개수이다. 다음 입력으로 R줄동안 각각의 미로 행이 주어진다. 각각의 문 www.acmicpc.net 2. 문제 해결에 대한 아이디어 1. Input에서 지훈이의 위치와 불의 위치를 각각 jQ, fQ에 저장한다. --> BFS를 하기 위함 2. 한 턴마다 지훈이와 불이 움직인다. 3. 지훈이는 jMove 불은 fireMove로 각각 구현했다. . 나는 지훈이를 먼저 움직이고 그다음에 불을 확산시켰다. . n+1번째 턴에 지훈이가 있을 수 있는 위치.. 2021. 9. 3.
백준 2589 보물섬 백준 2589 보물섬 1. 문제 링크 https://www.acmicpc.net/problem/2589 2589번: 보물섬 첫째 줄에는 보물 지도의 세로의 크기와 가로의 크기가 빈칸을 사이에 두고 주어진다. 이어 L과 W로 표시된 보물 지도가 아래의 예와 같이 주어지며, 각 문자 사이에는 빈 칸이 없다. 보물 지도의 www.acmicpc.net 2. 문제 해결에 대한 아이디어 1. 결국 가장 멀리 떨어진 지점의 이동시간을 구하는 문제이다. 2. 지도가 공백 문자 없이 문자열로 들어오기 때문에 문자열로 받은 후 .charAt(index) 를 사용하여 배열을 구성한다. 3. 이차원 배열을 순회하면서 'L'일 때 방문할 수 있는 모든 곳을 방문하며 가중치(weight)를 기록한다. 4. 한 지점으로부터의 방문.. 2021. 9. 2.