[Javascript][Programmers] 다리를 지나는 트럭
·
🔢 Algorithm
문제이 문제는 트럭이 순차적으로 다리를 건너며, 다리 위에서의 트럭 상태(시간, 무게)를 관리해야 하는 점이 핵심입니다. 트럭을 순차적으로 처리해야하는 점을 고려하면 큐를 사용하는 것이 적합합니다. 나의 풀이function solution(bridge_length, weight, truck_weights) { let time = 0; // 경과 시간 let bridgeQueue = []; // 다리 위의 트럭 상태 관리 (트럭 무게와 남은 시간을 관리) let bridgeWeight = 0; // 현재 다리 위에 있는 트럭들의 무게 합 while (truck_weights.length > 0 || bridgeQueue.length > 0) { time++; ..
[Javascript][Programmers] 카드 뭉치
·
🔢 Algorithm
문제문제에는 다음과 같은 조건이 제시되어 있습니다.카드 뭉치에서 카드를 순서대로 사용합니다.카드를 사용하지 않고 다음 카드로 넘어갈 수 없습니다.기존에 주어진 카드 뭉치의 단어 순서는 바꿀 수 없습니다.이러한 조건들을 고려해보면, 이 문제는 "선입선출(FIFO: First In, First Out)" 원칙을 따르고 있음을 알 수 있습니다. 이런 특성을 가장 잘 구현할 수 있는 자료구조는 큐(Queue)입니다.  나의 풀이시간복잡도: O(M) (cards의 길이: N, goal의 길이: M)function solution(cards1, cards2, goal) { let index1 = 0; let index2 = 0; for (let goalIndex = 0; goalIndex  다른 풀..
[Javascript][Programmers] 기능 개발
·
🔢 Algorithm
문제문제에서 제시된 조건에 따르면, 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포되어야 합니다. 이러한 요구사항은 기능들 간의 선후 관계와 의존성을 나타내며, 이를 효과적으로 관리하기 위해 큐(Queue)를 사용하는 것이 적합합니다. 나의 풀이시간복잡도: O(N)function solution(progresses, speeds) { const answer = []; // 각 작업의 완료 일수 계산 let days = progresses.map((progress, i) => Math.ceil((100 - progress) / speeds[i])); let dDay = days[0]; let count = 0; for (let day of days) { ..
[Data Structure] 큐(Queue)
·
🖥️ CS/Data Structure
큐란?큐는 '줄을 서다'라는 의미를 가지고 있습니다. 큐는 "First In, First Out" (FIFO) 원칙을 따르는 선형 데이터 구조로, 이는 먼저 들어온 요소가 가장 먼저 나가는 구조를 의미합니다. 실생활에서 큐의 예를 들자면 줄서기를 생각해볼 수 있습니다. 먼저 줄을 선 사람이 먼저 서비스를 받게 됩니다. 동작 원리큐의 기본적인 동작 원리는 다음과 같습니다.Enqueue (삽입): 새로운 요소를 큐의 후미에 추가합니다.Dequeue (삭제): 큐의 전방에서 요소를 제거하고 반환합니다.Peek: 큐의 맨 앞에 있는 요소를 조회합니다 (제거하지 않음). 큐의 ADT (Abstract Data Type)큐의 추상 자료형(ADT)은 다음과 같은 주요 연산들과 상태들을 포함합니다:연산 (Operati..
[Javascript][백준] 1158번 - 요세푸스 문제
·
🔢 Algorithm
문제이 문제의 핵심은 원형 구조를 어떻게 효율적으로 구현하고, 제거 과정을 어떻게 시뮬레이션할 것인가입니다. 나의 풀이시간복잡도: O(N²K)let fs = require('fs');let input = fs.readFileSync('/dev/stdin').toString().split('\n');function solution(N, K) { let answer = []; let queue = Array.from({ length: N }, (_, i) => i + 1); while (queue.length > 0) { // K-1번 이동 for (let i = 1; i parseInt(n));console.log("")처음에 1부터 N까지의 숫자를 포함하는 배열..
윤도기
'Queue' 태그의 글 목록
상단으로