
-Code
class Solution {
public int solution(int n, int w, int num) {
int[][] boxs = new int[n / w + 1][w];
int numCol = 0;
for (int i = 0; i < n; i++) {
// row의 값 셋팅
int row = i / w;
// col의 값 셋팅 (지그재그로 움직이므로 row에 따른 위치 셋팅)
int col = row % 2 == 0 ? i % w : (w - 1) - (i % w);
boxs[row][col] = i + 1;
// 꺼내야 할 상자면 col위치 저장
if(i + 1 == num) {
numCol = col;
}
}
// 꺼내야할 상자 갯수 구하기
int answer = 0;
for (int r = n / w; r >= 0; r--) {
// 상자가 있으면 꺼내기
if (boxs[r][numCol] != 0) {
answer++;
}
// 빼야할 상자면 탈출
if (boxs[r][numCol] == num) {
break;
}
}
return answer;
}
}'Beakjoon&프로그래머스 > Java' 카테고리의 다른 글
| [프로그래머스/Java] 개인정보 수집 유효기간 (0) | 2026.03.26 |
|---|---|
| [백준/Java] 6069번 Honey and Milk Land (0) | 2026.03.26 |
| [백준/Java] 6069번 Switching Lights (0) | 2026.03.25 |
| [백준/Java] 35290번 SUAPC 2025 Summer (0) | 2026.03.25 |
| [프로그래머스/Java] 가장 많이 받은 선물 (0) | 2026.03.24 |