function solution(operations) {
const queue = [];
for(const operate of operations){
const line = operate.split(" ");
if(line[0] === "I") {
queue.push(Number(line[1]));
}
else if(line[0] === "D"){
if(queue.length > 0){
queue.sort((a,b) => a - b)
if(Number(line[1]) === 1){
queue.pop();
}
else if(Number(line[1]) === -1){
queue.shift();
}
}
}
}
if(queue.length === 0){
return [0, 0]
}
queue.sort((a,b) => a-b);
const maxNum = queue[queue.length -1]
const minNum = queue[0];
return [maxNum, minNum];
}
function solution(operations) {
const queue = [];
for(const operate of operations){
const line = operate.split(" ");
if(line[0] === "I") {
queue.push(Number(line[1]));
}
else if(line[0] === "D"){
if(queue.length > 0){
queue.sort((a,b) => a - b)
if(Number(line[1]) === 1){
queue.pop();
}
else if(Number(line[1]) === -1){
queue.shift();
}
} else if(queue.length === 0){
return [0, 0];
}
}
}
queue.sort((a,b) => a-b);
const maxNum = queue.pop();
const minNum = queue.shift();
return [maxNum, minNum];
}
연산 실행 중에 큐가 비어있으면 return [0, 0] 이 아니라 연산 무시
연살 실행 완료 후 큐가 비어있을 때 return [0, 0] 하기
function solution(operations) {
const queue = [];
for(const operate of operations){
const line = operate.split(" ");
if(line[0] === "I") {
queue.push(Number(line[1]));
}
else if(line[0] === "D"){
if(queue.length > 0){
queue.sort((a,b) => a - b)
if(Number(line[1]) === 1){
queue.pop();
}
else if(Number(line[1]) === -1){
queue.shift();
}
}
}
}
if(queue.length === 0){
return [0, 0]
}
queue.sort((a,b) => a-b);
const maxNum = queue.pop();
const minNum = queue.shift();
return [maxNum, minNum];
}
queue에 한 개만 있는 경우 maxNum = queue.pop() 실행의 경우
minNum은 undefined가 될 수 있음