이중우선순위큐 문제 설명 이중 우선순위 큐는 다음 연산을 할 수 있는 자료구조를 말합니다. 명령어 수신 탑(높이) I 숫자 큐에 주어진 숫자를 삽입합니다. D 1 큐에서 최댓값을 삭제합니다. D -1 큐에서 최솟값을 삭제합니다. 이중 우선순위 큐가 할 연산 operations가 매개변수로 주어질 때, 모든 연산을 처리한 후 큐가 비어있으면 [0,0] 비어있지 않으면 [최댓값, 최솟값]을 return 하도록 solution 함수를 구현해주세요. 제한사항 operations는 길이가 1 이상 1,000,000 이하인 문자열 배열입니다. operations의 원소는 큐가 수행할 연산을 나타냅니다. 원소는 “명령어 데이터” 형식으로 주어집니다.- 최댓값/최솟값을 삭제하는 연산에서 최댓값/최솟값이 둘 이상인 경우..
라면공장 문제 설명 라면 공장에서는 하루에 밀가루를 1톤씩 사용합니다. 원래 밀가루를 공급받던 공장의 고장으로 앞으로 k일 이후에야 밀가루를 공급받을 수 있기 때문에 해외 공장에서 밀가루를 수입해야 합니다. 해외 공장에서는 향후 밀가루를 공급할 수 있는 날짜와 수량을 알려주었고, 라면 공장에서는 운송비를 줄이기 위해 최소한의 횟수로 밀가루를 공급받고 싶습니다. 현재 공장에 남아있는 밀가루 수량 stock, 밀가루 공급 일정(dates)과 해당 시점에 공급 가능한 밀가루 수량(supplies), 원래 공장으로부터 공급받을 수 있는 시점 k가 주어질 때, 밀가루가 떨어지지 않고 공장을 운영하기 위해서 최소한 몇 번 해외 공장으로부터 밀가루를 공급받아야 하는지를 return 하도록 solution 함수를 완성..
public static void main(String[] args) { System.out.println(solution("(){}[]")); //true System.out.println(solution("{(})}){)}{(}{)})(")); //false System.out.println(solution("{([])}")); //true System.out.println(solution("{[}]")); //false } 괄호 (), {}, [] 세가지를 이용하여 괄호가 알맞게 열리고 닫혔는지 판단하는 solution 함수를 작성하시오. 즉, 위 main 메소드의 결과를 만족하는 solution 함수를 작성하시오. 풀이 private static boolean solution(String s) {..
다리를 지나는 트럭 문제 설명 트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 트럭은 1초에 1만큼 움직이며, 다리 길이는 bridge_length이고 다리는 무게 weight까지 견딥니다. ※ 트럭이 다리에 완전히 오르지 않은 경우, 이 트럭의 무게는 고려하지 않습니다. 예를 들어, 길이가 2이고 10kg 무게를 견디는 다리가 있습니다. 무게가 [7, 4, 5, 6]kg인 트럭이 순서대로 최단 시간 안에 다리를 건너려면 다음과 같이 건너야 합니다. 경과 시간 다리를 지난 트럭 다리를 건너는 트럭 대기 트럭 0 [] [] [7,4,5,6] 1 ~ 2 [] [7] [4, 5, 6] 3 [7] [4] [5, ..
프린터 문제 설명 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린터를 개발했습니다. 이 새롭게 개발한 프린터는 아래와 같은 방식으로 인쇄 작업을 수행합니다. 1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다. 2. 나머지 인쇄 대기목록에서 J보다 중요도가 높은 문서가 한 개라도 존재하면 J를 대기목록의 가장 마지막에 넣습니다. 3. 그렇지 않으면 J를 인쇄합니다. 예를 들어, 4개의 문서(A, B, C, D)가 순서대로 인쇄 대기목록에 있고 중요도가 2 1 3 2 라면 C D A B 순으로 인쇄하게 됩니다. 내가 인쇄를 요청한 문서가 몇 번째로 인쇄..
기능개발 문제 설명 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 개의 기능이 배포되는지를 return 하도록 solution 함수를 완성하세요. 제한 사항 1. 작업의 개수(progresses, speeds배열의 길이)는 100개 이하입니다. 2. 작업 진도는 100 미만의 자연수입니다. 3. 작업..
안녕하세요. 오늘은 얼마전 Flex 한 아이패드를 노트북 usb로 연결하였더니 나타났던 "충전 중이 아님" 메시지를 해결하는 방법에 대해서 포스팅하고자 합니다. 일단 저는 아애패드를 usb 단자로 연결하여 twomon se 라는 어플리케이션을 이용하여 듀얼모니터 형식으로 카페에서 Inflearn을 들으면서 아이패드는 충전중인 상황을 연출해보려고 하였습니다만 아래와 같은 메시지를 보았습니다. 이게 지금... 제가 원한 충전을 하지 못하는 상황이 되어버렸는데요. 이러한 문제는 제가 전기과가 아니라서 잘 모르겠지만 우리 전자기기는 대부분 220v를 사용하고 해외는 110v를 많이 사용하잖아요. 이와 비슷한 방식으로 충전단자의 mA 값이 다르다고 하더라구요. 그래서 찾아봤더니 ASUS AI CHARGER라는 소..
안녕하세요. 오늘은 그동안 사용해왔던 여러가지 Dependency Injection 방법들에 대해서 소개해보고자 합니다. 일단 Dependency Injection이 무엇인지부터 이야기가 선행되어야 할텐데요. 다들 아시겠지만 스프링에서의 가장 기본적인 개념이 되겠고, 특정 계층(컨트롤러, 서비스 등)에 선언된 local 변수들의 인스턴스를 스프링 컨테이너 내에서 Bean이라는 객체로 관리되게 됩니다.(관리하여 주입해줄 객체) 한글로는 의존객체라고하며 A라는 클래스에 B라는 객체가 로컬변수로 선언되어 B의 메소드가 사용되고 있을 때, B가 없으면 A 클래스의 인스턴스가 생성될 수 없기 때문에 A는 B에 의존한다라고 합니다. 따라서 스프링은 프레임워크이기 때문에 싱글톤으로 이러한 A, B라는 Bean 객체를..