본문 바로가기

4

[프로그래머스] (스택/큐) 프린터 하도 막혀서 어떻게든 복잡하게라도 풀어내고 빨리 다른사람 풀이를 보고 싶었던 문제.. 결국 스택과 큐는 사용하지 않았다. 문서의 인덱스와 문서를 조건에 따라 재배치하고 문서의 인덱스를 저장하는 배열에 따로 최종본을 저장하고 그 배열에서 조회할 문서를 다시 찾아온다. import java.util.*; class Solution { public int solution(int[] priorities, int location) { int answer = 0; List docIdx = new ArrayList(); List doc = new ArrayList(); List reIdxDoc = new ArrayList(); for (int i = 0; i < priorities.length; i++) { int .. 2021. 3. 23.
[프로그래머스] (스택/큐) 기능개발 각 작업의 소요일자를 구한 후, 선작업 부터 같이 배포가능한 원소들을 뽑아서(소요일자가 자신보다 작은것) 배열에서 remove 시키는 방법으로 구현하였다. 배열에서 원소를 지워나가는 가장 안전한 방법은 iterator를 사용하는 것. import java.util.*; class Solution { public int[] solution(int[] progresses, int[] speeds) { int[] answer = {}; List temp = new ArrayList(); List tempAns = new ArrayList(); // 각 작업이 배포될 수 있는 일자를 별도로 담아 놓는다. for (int i = 0; i < progresses.length; i++) { int progress =.. 2021. 3. 23.
[프로그래머스] (스택/큐) 주식가격 다른 것보다 테스트케이스가 딱 1개뿐이라 검증에 애를 먹은 문제이다. 테스트 케이스를 추가하여 연습해보는 것을 추천한다. prices return [1, 2, 3, 2, 3] [4, 3, 1, 1, 0] [3, 1, 2, 2, 3, 1] [1, 4, 3, 2, 1, 0] [1, 2, 3, 1, 2, 3, 3, 1, 2] [8, 2, 1, 5, 3, 2, 1, 1, 0] class Solution { public int[] solution(int[] prices) { int[] answer = new int[prices.length]; for (int i = 0; i < prices.length -1; i++) { int nowPrice = prices[i]; int cnt = 0; for (int j =.. 2021. 3. 22.
[프로그래머스] (스택/큐) 다리를 지나는 트럭 스택과 큐를 사용해서 풀어야 하는 문제지만 ArrayList를 사용하여 다리위 상태를 구현하고, 트럭이 올라가고 내려가는 것을 계산하여 알맞게 loadTruck, unloadTruck 을 호출한다. 다리 위(BRIDGE class) 의 총 무게가 하중을 견딜수 있을만큼만 올려놓고 올려진 트럭이 탄 시간 + 다리위에 있는 시간을 계산하여 다리에서 내린다. 아직 타지 않은 트럭이 없으면 더 이상 loadTruck을 할 필요는 없어지고 최초상태를 제외하고 다리 위에 트럭의 무게가 0이라면 루프를 빠져나온다. import java.util.*; import java.util.stream.Collectors; class Solution { public int solution(int bridge_length, in.. 2021. 3. 22.
반응형