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 | 31 |
Tags
- network
- Javascript
- PaaS
- 네트워크
- gns3
- 용어정리
- 명령어
- kubernetes
- dockerfile
- RAID
- nodejs
- node.js
- docker
- IaaS
- 개념
- Docker-compose
- 클라우드
- mysql
- 도커
- Docker Swarm
- PAT
- MongoDB
- RAPA
- git
- worker
- 쿠버네티스
- 이론
- express
- 실습
- OpenStack
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 |