BOJ 백준 14499번 주사위 굴리기 Java
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 이 문제는 지도 위에서 주사위는 동(1), 서(2), 북(3), 남(4) 방향으로 굴릴 때 주사위의 윗면의 수를 출력해야 합니다 가장 중점적으로 봐야할 점은 주사위를 4방향으로 굴릴 때, 각 위치가 어떻게 변하는지입니다. 따라서 저는 0부터 5까지 바닥, 동, 서, 남, 북, 위를 설정하고, 4방향으로 굴릴 때의 위치 변화를 저장하는 배열을 만들었습니다. 가장 먼저 각 명령마다 지도의 범위를 벗어나..
더보기
[BOJ 백준] 2531번 회전초밥 (Java)
주어진 회전 초밥 벨트에서 먹을 수 있는 초밥의 가짓수의 최댓값을 하나의 정수로 출력한다. 2531번: 회전 초밥 첫 번째 줄에는 회전 초밥 벨트에 놓인 접시의 수 N, 초밥의 가짓수 d, 연속해서 먹는 접시의 수 k, 쿠폰 번호 c가 각각 하나의 빈 칸을 사이에 두고 주어진다. 단, 2 ≤ N ≤ 30,000, 2 ≤ d ≤ 3,000, 2 ≤ www.acmicpc.net 처음에는 List와 Set을 사용해서 풀었지만, 매번 N이 최대 30,000, k가 최대 3,000이기 때문에 시간초과가 났습니다. 해결 방법 1. 슬라이딩 윈도우 크기가 d인 selected라는 정수 배열을 이용합니다. 현재 선택된 초밥의 번호를 인덱스로 하여 개수를 늘립니다. 초기 세팅을 한 후 0부터 N까지 탐색하면서, 윈도우에..
더보기