티스토리 뷰
title: "이중우선순위큐"
category: 프로그래머스[Level-3]
tags: [C++, JavaScript, 프로그래머스]
date: "2021-02-06"
문제 링크
C++
#include <string>
#include <vector>
#include <set>
using namespace std;
vector<int> solution(vector<string> operations) {
vector<int> answer(2, 0);
set<int> nums;
for(string opStr: operations){
if(opStr[0]=='I') nums.insert(stoi(opStr.substr(2)));
else if(opStr=="D 1"&&nums.size()>0) nums.erase(--nums.end());
else if(opStr=="D -1"&&nums.size()>0) nums.erase(nums.begin());
}
if(nums.size()>0){
answer[0]=*(--nums.end()); // 최대
answer[1]=*nums.begin(); // 최소
}
return answer;
}
JavaScript
function solution(operations) {
var answer = [0, 0];
const queue = [];
operations.forEach((v) => {
if (v[0] === "I") {
queue.push(parseInt(v.split(" ")[1]));
} else if (v === "D 1" && queue.length > 0) {
queue.splice(queue.indexOf(Math.max(...queue)), 1);
} else if (v === "D -1" && queue.length > 0) {
queue.splice(queue.indexOf(Math.min(...queue)), 1);
}
});
if (queue.length > 0) {
answer[0] = Math.max(...queue); // 최대
answer[1] = Math.min(...queue); // 최소
}
return answer;
}
728x90
반응형
'Programmers Solutions > Level-3' 카테고리의 다른 글
[프로그래머스] 베스트앨범 (0) | 2021.02.07 |
---|---|
[프로그래머스] 입국심사 (0) | 2021.02.06 |
[프로그래머스] 여행경로 (0) | 2021.02.06 |
[프로그래머스] 섬 연결하기 (0) | 2021.02.06 |
[프로그래머스] 단어 변환 (0) | 2021.02.06 |
댓글