Algorithm

[BOJ] 13335. 트럭

프로그래민 2020. 3. 31. 10:51
반응형

시뮬레이션 문제이다.

문제에 주어진 조건 그대로를 사용하면 된다. 문제처럼 bridge배열을 하나 선언하여 맨처음에 온 트럭을 bridge에 태운채로 시작하였다. 그 후 현재 bridge 무게를 확인하며 다음 트럭이 올라올수 있는 경우 다음 트럭을 태우는 과정 및 움직임을 반복하며 마지막 트럭까지 확인을 하는 과정을 거쳐 문제를 해결하였다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package selfStudy.chap07;
 
 
public class Main_bj_13335_트럭 {
    
    static int[] bridge;
    
    public static void main(String[] args) throws Exception {
        BufferedReader br =new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        
        int n=Integer.parseInt(st.nextToken());
        int w=Integer.parseInt(st.nextToken());
        int limit = Integer.parseInt(st.nextToken());
        
        int[] arr=new int[n];
        st=new StringTokenizer(br.readLine());
        for(int i=0;i<n;i++)
            arr[i]=Integer.parseInt(st.nextToken());
        
        int time=1;
        bridge= new int[w];
        int index=0;
        
        bridge[0]=arr[index++];    //첫번째 트럭 올려놓기
        
        while(true) {
            if(index==n)    //마지막 트럭까지 다봤을경우
                break;
            move();    
            time++;
            
            if(weightOnBridge()+arr[index]<=limit) {
                //태우기
                bridge[0]=arr[index++];
            }
        }
        
        System.out.println(time+w);
        
    }
    
    static int weightOnBridge() {    //현재 다리위 무게
        int sum=0;
        for(int w : bridge)
            sum+=w;
        return sum;
    }
    
    static void move() {        //전체트럭옮기기
        for(int i=bridge.length-1;i>0;i--) {
            bridge[i]=bridge[i-1];
        }
        bridge[0]=0;
        
    }
}
 
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
                                                      
반응형

'Algorithm' 카테고리의 다른 글

[BOJ] 1941. 소문난 칠공주  (0) 2020.04.02
[BOJ] 14891. 톱니바퀴  (0) 2020.03.31
[BOJ] 14999. 주사위 굴리기  (0) 2020.03.31
[BOJ] 5427. 불  (0) 2020.03.30
[BOJ] 1182. 부분수열의 합  (0) 2020.03.30