분류 전체보기(222)
-
Stack/Queue - 프린터(Lv.2)
문제 설명 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린터를 개발했습니다. 이 새롭게 개발한 프린터는 아래와 같은 방식으로 인쇄 작업을 수행합니다. 1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다. 2. 나머지 인쇄 대기목록에서 J보다 중요도가 높은 문서가 한 개라도 존재하면 J를 대기목록의 가장 마지막에 넣습니다. 3. 그렇지 않으면 J를 인쇄합니다. 예를 들어, 4개의 문서(A, B, C, D)가 순서대로 인쇄 대기목록에 있고 중요도가 2 1 3 2 라면 C D A B 순으로 인쇄하게 됩니다. 내가 인쇄를 요청한 문서가 몇 번째로 인쇄되는지 ..
2022.02.15 -
Hash-베스트 앨범(Lv.3)
문제설명 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 많이 재생된 장르를 먼저 수록합니다. 장르 내에서 많이 재생된 노래를 먼저 수록합니다. 장르 내에서 재생 횟수가 같은 노래 중에서는 고유 번호가 낮은 노래를 먼저 수록합니다. 노래의 장르를 나타내는 문자열 배열 genres와 노래별 재생 횟수를 나타내는 정수 배열 plays가 주어질 때, 베스트 앨범에 들어갈 노래의 고유 번호를 순서대로 return 하도록 solution 함수를 완성하세요. 제한사항 genres[i]는 고유번호가 i인 노래의 장르입니다. plays[i]는 고유번호가 i인 노래가 재생된 횟수입니다..
2022.02.14 -
Heap - 더 맵게(Lv.2)
문제 설명 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2) Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다. Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하는 스코빌 지수 K가 주어질 때, 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 섞어야 하는 최소 횟수를 return 하도록 solution 함수를 작성해주세요. 제한 사항 scovil..
2022.01.27 -
Heap - 이중우선순위큐(Lv.3)
문제 설명 이중 우선순위 큐가 할 연산 operations가 매개변수로 주어질 때, 모든 연산을 처리한 후 큐가 비어있으면 [0,0] 비어있지 않으면 [최댓값, 최솟값]을 return 하도록 solution 함수를 구현해주세요. D 1 큐에서 최댓값을 삭제합니다. D -1 큐에서 최솟값을 삭제합니다. I 숫자 큐에 주어진 숫자를 삽입합니다. 제한사항 operations는 길이가 1 이상 1,000,000 이하인 문자열 배열입니다. operations의 원소는 큐가 수행할 연산을 나타냅니다. 원소는 “명령어 데이터” 형식으로 주어집니다.- 최댓값/최솟값을 삭제하는 연산에서 최댓값/최솟값이 둘 이상인 경우, 하나만 삭제합니다. 빈 큐에 데이터를 삭제하라는 연산이 주어질 경우, 해당 연산은 무시합니다. def..
2022.01.11 -
Project3 - SubProcess & Jpype
우리 회사 솔루션은 "java"기반이다. 그런데 이번 프로젝트에서 70%를 담당하는 회사에서는 "python" 으로 개발을 한다고 한다. 그래서 추후 유지보수나, 혹시나 모를 컨소시엄사와의 연동을 고려하여 우리도 python으로 개발을 해야한다는 결론이 나왔다. 하지만 이미 우리는 형태소/개체명/인용문/정보원 분석을 java로 끝을 낸 상태였고, java 기반으로 돌아가는 솔루션이라 python으로 다시 코드를 짜는것은 이 시간적 여유로는 전혀 불가능한 정도였다. 그래서 python에서 java 프로젝트를 호출하여 실행할 수 있는 방법이 없을까 고민을 하였다. 첫번째 나의 대안은 SubProcess를 이용한 해결책이였다.하지만 나의 현재 능력으로는 나의 java 프로젝트를 Runnable JAR 파일로 ..
2021.08.15 -
Project2 - ElasticSearch
현재 진행하는 프로젝트에서 빅데이터 플랫폼은 ElasticSearch에 데이터를 적재 할 것이고, 거기서 가져와서 쓰면 된다고 전해 들었다. 그래서 일단 데이터 상태 확인을 위해 빅데이터 플랫폼팀이 올려둔 raw 데이터라던지, 전처리한 데이터 확인을 위해 ElasticSearch에 접근하는 방법을 알아볼 필요가 있었다. ElasticSearch이란, 현재 가장 대중적인 엔터프라이즈 검색 엔진이다. HTTP 웹 인터페이스와 스키마에서 자유로운 JSON 문서와 함께 분산 멀티테넌트 지원 전문 검색 엔진을 제공한다. 이는 자바로 개발되어 있으며, 공식 클라이언트들은 자바/파이썬/PHP/그루비/C#등 수많은 언어로 이용 가능하다. Multitenat 소프트웨어 아키텍처의 하나를 가리키며, 하나의 소프트웨어 인스..
2021.08.15