전체 글
BOJ - 청소년 상어 19236번 (JAVA)
❓ 문제 - 백준 청소년 상어 19236번 - JAVA 풀이법 출처 (https://www.acmicpc.net/problem/19236) 📝 문제해결법 1. 이 문제는 구현+DFS(백트래킹)으로 풀었다. HashMap을 통해 key는 물고기의 번호, value는 물고기의 정보(위치 x,y, 방향)를 담은 객체를 관리한다. 2차원 배열 map으로 물고기의 위치와 함께 i, j행에 물고기의 번호를 담는다. s_x, s_y는 상어의 위치이며, 상어의 방향은 처음 0,0 의 물고기를 먹은 후 해당 물고의 방향을 가지게 된다. DFS(백트래킹)을 통해 물고기의 이동, 상어가 갈 수 있는 방향 내에서 움직임을 완전탐색 해서 먹을 수 있는 물고기의 최대갯수를 구한다. 물고기의 이동을 구현할 때 한번에 이동하므로 m..
BOJ - 모노미노도미노2 20061번 (JAVA)
❓ 문제 - 백준 모노미노도미노 20061번 - JAVA 풀이법 출처 (https://www.acmicpc.net/problem/20061) 20061번: 모노미노도미노 2 모노미노도미노는 아래와 같이 생긴 보드에서 진행되는 게임이다. 보드는 빨간색 보드, 파란색 보드, 초록색 보드가 그림과 같이 붙어있는 형태이다. 게임에서 사용하는 좌표 (x, y)에서 x는 행, www.acmicpc.net 📝 문제해결법 1. 이 문제는 구현로 풀었다. 그린 보드와 파란보드를 각각 green, blue라는 2차원 배열로 관리하였다. 만약 블록이 하나 떨어지면 moving_green(), moving_blue()라는 메소드를 통해 각 보드에 블록 떨어짐 처리를 한다. 블록을 놓은 후 bomb()라는 메소드를 통해 각 보..
BOJ - 원판 돌리기 17822번 (JAVA)
❓ 문제 - 백준 원판 돌리기 17822번 - JAVA 풀이법 출처 (https://www.acmicpc.net/problem/17822) 17822번: 원판 돌리기 반지름이 1, 2, ..., N인 원판이 크기가 작아지는 순으로 바닥에 놓여있고, 원판의 중심은 모두 같다. 원판의 반지름이 i이면, 그 원판을 i번째 원판이라고 한다. 각각의 원판에는 M개의 정수가 적혀 www.acmicpc.net 📝 문제해결법 1. 이 문제는 구현 + BFS으로 풀었다. map[i][j]의 2차원 배열로 반지름이 i인 원판이 j에 적힌 번호들을 관리한다. rotate() 함수로 처음 x의 배수로 k배 만큼의 원판들을 회전시킨다. 원판에 인접하면서 같은 수들을 cal()이라는 함수를 통해 모두 지움 처리한다. 원판의 0과..
BOJ - 새로운 게임2 17837번 (JAVA)
❓ 문제 - 백준 새로운 게임2 17837번 - JAVA 풀이법 출처 (https://www.acmicpc.net/problem/17837) 17837번: 새로운 게임 2 재현이는 주변을 살펴보던 중 체스판과 말을 이용해서 새로운 게임을 만들기로 했다. 새로운 게임은 크기가 N×N인 체스판에서 진행되고, 사용하는 말의 개수는 K개이다. 말은 원판모양이고, 하 www.acmicpc.net 📝 문제해결법 1. 이 문제는 구현으로 풀었다. HashMap을 활용해서 key에 말의 번호, value는 말에 대한 정보(위치 x, y, 방향)을 객체에 넣어 관리한다. ArrayList인 2차원 배열로 체스판을 관리한다. 체스판 안에는 말의 번호를 넣어서 관리한다. 각 턴에서 말번호 1번부터 이동을 처리한다. 말이 이..