일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바
- 자료구조
- 네이버
- HashSet
- HTML
- 정렬
- Queue
- Python
- 코딩테스트
- 배열
- string
- 스파르타코딩클럽
- coding test
- HashMap
- 우선순위큐
- Java
- 해쉬
- Coding
- programmers
- point queue
- Naver
- Eclipse
- javac
- array
- compare()
- 프로그래머스
- Stack
- CSS
- hash
- SQL
- Today
- Total
목록point queue (3)
youngik
먼저 위 문제를 분석해봤을 때, 1. (중요도, 위치값)를 가진 Point쌍의 값을 queue에 넣는다. 2. 각 cycle마다 현재 남은 queue의 중요도가 가장 큰 값과 비교를 한다. 3. 맨 앞에 값을 poll() 해봤을 때 max값과 일치하면 output queue에 넣고 작으면 다시 queue에 add()한다. (*1-3번의 작업은 priority 큐가 비어있을 때 까지 반복) 4. 1-3번의 작업이 끝나면 output queue에서 location과 일치하는 위치값을 출력한다. (몇번째로 출력되는지) -> 예제 문제에서 봤을 때, 동일한 값이라도 출력되는 순서가 다르기 때문에 원래 queue에서 위치값을 같이 저장했다. -> 몇번째로 인쇄됐는지 결과값을 물어볼때 0이 아닌 1부터 시작하기 때..
스택의 3번째 문제이다. 먼저 위의 문제를 분석해보면서 1. Queue에 각 작업을 등록하고, 각 작업의 값을 speed값을 더한다. 2. 맨 앞에 작업보다 뒤에 작업이 먼저 100이 될 수가 있고, 바로 나오는 것이 아니라 앞 작업이 100이 되어야 나올 수 있어야 함. 3. 결과값으로 출력해야하는 return값의 배열길이는 한번에 나오는 작업의 수 *따라서 전체 작업의 수의 길이와 배열길이는 다르다! * 여기서 progresses 값만 queue에 넣고 speed는 그대로 배열로 사용하려고 하다가, queue에서 progresses값이 나가면, speed 배열은 그대로 유지하기 때문에 이전 문제에서 사용했던 큐를 사용해서 x = progresses, y = speeds 를 넣었다. * 구현한 기능 1..
이번 문제는 처음부터 삽질을 많이 한 결과로 볼수가 있다ㅠ stack & queue에 대한 개념을 먼저 잡아야 했고, 다리를 통과하는 것은 stack보다는 queue가 더 적합한 것 같아서 queue를 통해 구현하기로 했다. *기본적인 stack 선언 Queue temp = new LinkedList(); Queue는 LikedList 형태로 구현이 되어있고, array와 같은 개별적으로 존재하는 것이 아닌 값들이 서로 연결되어있어 메모리의 빈 공간을 차지하지 않는다는 장점이 있다. 하지만 장점이 있으면 단점이 있다는 것인데, 자료값을 search 하거나, 삽입, 삭제 등을 할 때 시간이 걸린다. array는 int arr[4] = 0; 같이 직관적으로 삽입할 수 있으니!! ▶위 문제를 먼저 분석해본결과..