백준 시뮬레이션

    [백준, BOJ 21610] 마법사 상어와 비바라기 (java)

    https://www.acmicpc.net/problem/21610 21610번: 마법사 상어와 비바라기 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기 www.acmicpc.net 메모리: 23,580 KB , 시간: 264 ms 사용 알고리즘: 구현, 시뮬레이션 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class Main { ..

    [백준, BOJ 14499] 주사위 굴리기 (java)

    https://www.acmicpc.net/problem/14499 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x, y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지 www.acmicpc.net 메모리: 16,308 KB , 시간: 172 ms 사용 알고리즘: 구현, 시뮬레이션 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void m..

    [백준, BOJ 11559] Puyo Puyo (java)

    https://www.acmicpc.net/problem/11559 11559번: Puyo Puyo 총 12개의 줄에 필드의 정보가 주어지며, 각 줄에는 6개의 문자가 있다. 이때 .은 빈공간이고 .이 아닌것은 각각의 색깔의 뿌요를 나타낸다. R은 빨강, G는 초록, B는 파랑, P는 보라, Y는 노랑이다. www.acmicpc.net 메모리: 14,124 KB, 시간: 128 ms 사용 알고리즘: 너비 우선 탐색, 그래프 이론, 그래프 탐색, 구현, 시뮬레이션 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; public class Main {..

    [백준, BOJ 16235] 나무 재테크 (java)

    https://www.acmicpc.net/problem/16235 16235번: 나무 재테크 부동산 투자로 억대의 돈을 번 상도는 최근 N×N 크기의 땅을 구매했다. 상도는 손쉬운 땅 관리를 위해 땅을 1×1 크기의 칸으로 나누어 놓았다. 각각의 칸은 (r, c)로 나타내며, r은 가장 위에서부터 www.acmicpc.net 메모리: 297,284 KB , 시간: 1,060 ms 사용 알고리즘: 자료 구조, 구현, 시뮬레이션 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.PriorityQueue; import java.util.Queue; import ..

    [백준, BOJ 20057] 마법사 상어와 토네이도 (java)

    https://www.acmicpc.net/problem/20057 20057번: 마법사 상어와 토네이도 마법사 상어가 토네이도를 배웠고, 오늘은 토네이도를 크기가 N×N인 격자로 나누어진 모래밭에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c열을 의미하고, A[r][c]는 (r, c)에 있는 모래의 양을 www.acmicpc.net import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static int[] dx = {0, 1, 0, -1}; static int[] dy = {-1, 0, 1, 0}; static int N; static..

    [백준, BOJ 20056] 마법사 상어와 파이어볼 (java)

    https://www.acmicpc.net/problem/20056 20056번: 마법사 상어와 파이어볼 첫째 줄에 N, M, K가 주어진다. 둘째 줄부터 M개의 줄에 파이어볼의 정보가 한 줄에 하나씩 주어진다. 파이어볼의 정보는 다섯 정수 ri, ci, mi, si, di로 이루어져 있다. 서로 다른 두 파이어볼의 위치 www.acmicpc.net 효율적인 방법은 아닌 듯 하다. 칸마다 LinkedList를 만들어 해당 칸에 있는 상어를 표시해주고, 상어 이동 후 2마리 이상 있는 칸은 해당 칸의 상어들의 정보를 취합해 다시 4마리의 상어로 만들어 새로운 LinkedList로 바꿔주었는데 이 방법 대신 Queue를 사용할 수 있을 것 같다. import java.io.BufferedReader; imp..

    [백준, BOJ 19237] 어른 상어 (java)

    https://www.acmicpc.net/problem/19237 19237번: 어른 상어 첫 줄에는 N, M, k가 주어진다. (2 ≤ N ≤ 20, 2 ≤ M ≤ N2, 1 ≤ k ≤ 1,000) 그 다음 줄부터 N개의 줄에 걸쳐 격자의 모습이 주어진다. 0은 빈칸이고, 0이 아닌 수 x는 x번 상어가 들어있는 칸을 의미 www.acmicpc.net import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { // 상어 클래스 static class Shark { int num; int curX; int curY; int dis; int[][] pr..