전체 글

전체 글

    BOJ - 마법사 상어와 비바라기 21610번 (JAVA)

    ❓ 문제 - 백준 마법사 상어와 비바라기 21610번 - JAVA 풀이법 출처 (https://www.acmicpc.net/problem/21610) 📝 문제해결법 1. 이 문제는 구현으로 풀었다. ArrayList에 구름에 대한 정보를 넣는다. k 번만큼 구름의 이동 처리를 하고 0번 행과 n-1행, 0번 열과 n-1행이 연결되어 있으므로 구름의 속력 s를 %n으로 나눈 나머지로 nx, ny의 이동 위치를 구한다. 그리고 nx, ny가 0보다 작다면 n을 더해주고 n이상이라면 n을 빼주면 된다. 그리고 check라는 방문체크 배열을 통해 구름이 이동한 위치를 체크해준다. 만약 구름이 이동한 곳에서 대각선 방향으로 거리가 1인 물이 있는 부구니의 수를 구한 후 바구니에 더해주는데 동시에 일어나기 때문에 ..

    BOJ - 상어 중학교 21609번 (JAVA)

    ❓ 문제 - 백준 상어 중학교 21609번 - JAVA 풀이법 출처 (https://www.acmicpc.net/problem/21609) 21609번: 상어 중학교 상어 중학교의 코딩 동아리에서 게임을 만들었다. 이 게임은 크기가 N×N인 격자에서 진행되고, 초기에 격자의 모든 칸에는 블록이 하나씩 들어있고, 블록은 검은색 블록, 무지개 블록, 일반 블록 www.acmicpc.net 📝 문제해결법 1. 이 문제는 구현+BFS으로 풀었다. Block 객체로 한 블록 그룹의 정보를 저장한다. x, y는 기준 블록의 위치, size는 블록의 사이즈, mu_cnt는 무지개 블록의 갯수이다. 2차원 배열 0행 0열부터 쭉 접근하면서 BFS를 통해 최대 길이의 블록 그룹을 찾는다. 만약 찾은 블록들이 그룹의 크기..

    BOJ - 마법사 상어와 파이어스톰 20058번 (JAVA)

    ❓ 문제 - 백준 마법사 상어와 파이어스톰 20058번 - JAVA 풀이법 출처 (https://www.acmicpc.net/problem/20058) 20058번: 마법사 상어와 파이어스톰 마법사 상어는 파이어볼과 토네이도를 조합해 파이어스톰을 시전할 수 있다. 오늘은 파이어스톰을 크기가 2N × 2N인 격자로 나누어진 얼음판에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c www.acmicpc.net 📝 문제해결법 1. 이 문제는 구현+BFS으로 풀었다. 구역 나눠서 90도를 회전하는 부분에서 각 2^N X 2^N 격자에서 L구열으로 나누어서 구역 시작 열과 행 r, c를 기준으로 구열을 90도 회전 처리한다. rotate 함수를 통해 90도 회전 시키며 각 구열의 길이와, 시작 위치를 반영..

    BOJ - 마법사 상어와 토네이도 20057번 (JAVA)

    ❓ 문제 - 백준 마법사 상어와 토네이도 20057번 - JAVA 풀이법 출처 (https://www.acmicpc.net/problem/20057) 20057번: 마법사 상어와 토네이도 마법사 상어가 토네이도를 배웠고, 오늘은 토네이도를 크기가 N×N인 격자로 나누어진 모래밭에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c열을 의미하고, A[r][c]는 (r, c)에 있는 모래의 양을 www.acmicpc.net 📝 문제해결법 1. 이 문제는 구현으로 풀었다. 좌, 하, 우, 상 각 방향으로 이동했을 때 흩어지는 모래양의 퍼센트를 moving이라는 3차원 배열을 통해 맞춰서 구현해준다. 알파일 때는 -1로 둔다. ans라는 변수로 격자밖으로 넘어간 양의 모래를 저장한다. 처음 토네이도의 일정 ..