자바스크립트9 [프로그래머스] 이중우선순위큐(Heap) 👁🗨 문제 설명 이중 우선순위 큐는 다음 연산을 할 수 있는 자료구조를 말합니다. 명령어 수신 탑(높이) I 숫자 큐에 주어진 숫자를 삽입합니다. D 1 큐에서 최댓값을 삭제합니다. D -1 큐에서 최솟값을 삭제합니다. 이중 우선순위 큐가 할 연산 operations가 매개변수로 주어질 때, 모든 연산을 처리한 후 큐가 비어있으면 [0,0] 비어있지 않으면 [최댓값, 최솟값]을 return 하도록 solution 함수를 구현해주세요. ❌ 제한 사항 operations는 길이가 1 이상 1,000,000 이하인 문자열 배열입니다. operations의 원소는 큐가 수행할 연산을 나타냅니다. 원소는 “명령어 데이터” 형식으로 주어집니다.- 최댓값/최솟값을 삭제하는 연산에서 최댓값/최솟값이 둘 이상인 경우,.. 2023. 4. 12. [프로그래머스] 디스크 컨트롤러(Heap) 👁🗨 문제 설명 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를들어 - 0ms 시점에 3ms가 소요되는 A작업 요청 - 1ms 시점에 9ms가 소요되는 B작업 요청 - 2ms 시점에 6ms가 소요되는 C작업 요청 와 같은 요청이 들어왔습니다. 이를 그림으로 표현하면 아래와 같습니다. 한 번에 하나의 요청만을 수행할 수 있기 때문에 각각의 작업을 요청받은 순서대로 처리하면 다음과 같이 처리 됩니다. - A: 3ms 시점에 작업 완료 (요청에서 종료까지 : 3ms) - B: 1ms부터 대기하다가, 3ms 시점에 작업을 시작해서 12ms 시점에 작업 완료(요청에서 종료까지 .. 2023. 4. 12. [코드이슈] if문에서 else와 else if를 지양하는 의견 정리 😎 Clean Code 원칙의 이해 Clean Code는 가독성, 재사용성, 유지보수의 용이성에 초점을 맞춘 코드 작성 방법론이다. Robert C. Martin은 이를 위한 다양한 원칙을 제시하였는데, 그 중 '제어문의 복잡성을 줄이는 것'이 하나로, 이 원칙에 따르면 if문에서 else와 else if문을 최대한 지양하도록 권장한다. 이 원칙의 배경에는 어떤 이유가 있는지 살펴보자. ✅ if문에서 else와 else if문 사용의 문제점 if문에 else와 else if문을 사용하게 되면, 코드의 복잡성이 증가하는 문제가 있다. 특히 여러 조건이 복합적으로 얽혀있는 경우, 코드의 가독성이 저하되며 디버깅의 어려움이 생긴다. 또한, 이러한 구조는 코드의 흐름을 파악하기 어렵게 만들어 실수를 유발하는 원.. 2023. 4. 4. [프로그래머스] 완주하지 못한 선수 자바스크립트 풀이 👁🗨 문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. ❌ 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. 입출력 예 participant completion return ["leo".. 2023. 3. 29. 이전 1 2 3 다음