Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- nodejs
- gns3
- git
- kubernetes
- 쿠버네티스
- mysql
- network
- RAID
- 클라우드
- 실습
- 도커
- RAPA
- PAT
- Javascript
- MongoDB
- 네트워크
- PaaS
- express
- 개념
- OpenStack
- 명령어
- Docker Swarm
- dockerfile
- docker
- worker
- node.js
- IaaS
- 용어정리
- Docker-compose
- 이론
Archives
- Today
- Total
융융이'Blog
다리를 지나는 트럭(Queue 개념) 본문
문제 : https://programmers.co.kr/learn/courses/30/lessons/42583
import java.util.*;
class Solution {
public int solution(int bridge_length, int weight, int[] truck_weights) {
int answer = 0;
int time = 0;
int bridge_weight = 0;
int i = 0;
Queue<Integer> bridge = new LinkedList<Integer>();
Queue<Integer> arrive_time = new LinkedList<Integer>();
while(i < truck_weights.length){
if(bridge_weight + truck_weights[i] <= weight){
bridge.add(truck_weights[i]);
bridge_weight = bridge_weight + truck_weights[i];
arrive_time.add(++time);
if(i == truck_weights.length-1){
time = time + bridge_length;
}
i++;
}
else{
time++;
}
if(arrive_time.peek()+bridge_length == time+1){
bridge_weight = bridge_weight - bridge.poll();
arrive_time.poll();
}
}
answer = time;
return answer;
}
}
주로 사용했던 메소드
Queue
- - 자료구조 중 하나
- - 선입선출
- - FIFO( First In First Out )
- Queue<Integer> bridge = new LinkedList<Integer>() : Integer 형태의 queue를 만들어준다.
- Queue.add("$$") : Queue에 삽입
- Queue.poll("$$") : Queue에 빼내기
- Queue.peek() : Queue 최상단 보여주기
- Queue.size() : Queue 크기
- Queue.isEmpty() : Queue가 비어있는가?(boolean)
- Queue.contain("$$") : Queue에 해당 요소가 존재하는가(boolean)
더 좋은 방법은 머가 있을까?
'2022이전 > 알고리즘(하루에하나씩!)' 카테고리의 다른 글
Spanning Tree (0) | 2020.05.24 |
---|---|
타겟 넘버(깊이/너비 우선 탐색(DFS/BFS)) (2) | 2020.03.18 |
프린터(List vs ArrayList 개념) (0) | 2020.02.29 |
기능개발(ArrayList 개념) (0) | 2020.02.29 |
서머코딩/윈터코딩(~2018)/스킬트리 (0) | 2020.02.23 |