[programmers] 택배 상자 꺼내기

https://school.programmers.co.kr/learn/courses/30/lessons/389478

class Solution {
    public int solution(int n, int w, int num) {

        int[][] box = new int[101][11];
        int floor = 0, idx = 1;
        char dir = 'r';
        int[] now = null;
        while(idx <= n){
            int tempIdx = (idx-1)%w;

            if(dir == 'l') tempIdx = w - tempIdx - 1;

            box[floor][tempIdx] = idx;

            if(idx == num) now = new int[]{floor,tempIdx};

            if(idx%w == 0){
                if(dir == 'r') dir = 'l';
                else dir = 'r';

                floor++;
            }
            idx++;
        }

        int nowFloor = now[0];
        int cnt = 0;
        while(true){
            if(0==box[nowFloor++][now[1]]) break;
            cnt++;
        }

        return cnt;
    }
}

© 2023 Lee. All rights reserved.