Queue(4)
-
[BOJ] 13335번 | 트럭 (C++)
🔗문제 보러가기 13335번: 트럭 입력 데이터는 표준입력을 사용한다. 입력은 두 줄로 이루어진다. 입력의 첫 번째 줄에는 세 개의 정수 n (1 ≤ n ≤ 1,000) , w (1 ≤ w ≤ 100) and L (10 ≤ L ≤ 1,000)이 주어지는데, n은 다리를 건너는 트 www.acmicpc.net 🧑🏻💻풀이 과정 다리를 건너기 위해 대기 중인 트럭들, 다리를 건너는 중인 트럭들을 관리할 2개의 큐(Queue)를 선언합니다. 해당 2개의 큐가 모두 비었다면, 반복문을 종료합니다. 아니라면, 다리를 건너는 트럭들 중 맨 앞 트럭이 다리를 건넜는지 확인합니다. "경과시간 - 해당 트럭이 다리에 진입한 시각 = 다리의 길이"라면, 다리를 건넜습니다. 이 경우, 총 무게에서 해당 트럭 무게를 빼주고,..
2023.09.04 -
[BOJ] 3190번 | 뱀 (C++)
🔗문제 보러가기 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net 🧑🏻💻풀이 과정 문제 로직 자체는 어렵지 않은데, 구현할 게 많아서 상당히 귀찮았던 문제입니다. 문제를 보면, 다음과 같은 문장을 읽을 수 있습니다. 뱀의 머리가 먼저 한 칸 이동합니다. 그 위치에 사과가 없다면, 꼬리도 한 칸 이동하고, 사과가 있다면 꼬리는 이동하지 않습니다. 위 문장을 구현하려면, 뱀의 꼬리가 이동할 방향에 대한 정보가 필요합니다. 뱀의 꼬리가 이동해야 할 방향은 이전까지 뱀의 머리가 이동했던 방향들이므로, 뱀의 머리가 이동했던 ..
2023.08.26 -
[Programmers] Lv2. 다리를 지나는 트럭 | C++
🔗문제 보러가기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👨💻풀이 과정 큐(Queue)를 통해 다리 위에 있는 트럭들을 관리합니다. 트럭이 가지는 정보는 다리 진입 시각(enterTime)과 트럭 무게(weight)입니다. struct Truck { Truck(int enterTime, int weight) : _enterTime(enterTime), _weight(weight) { } int _enterTime; int _weight; }; 경과 시간(elapsedTime), 다리 위 트럭들의 총 무게 합(weightSum)도 같이 관리하며, 이..
2023.06.25 -
[Programmers] Lv2. 기능개발 | C++
🔗문제 보러가기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 👨💻풀이 과정 큐(Queue)를 이용하여 풀었습니다. 풀이과정은 다음과 같습니다. for 문을 통해, 각 작업을 순회 현재 작업의 배포 가능한 남은 일수를 계산 큐에 아무것도 없다면, push()하고 다음 루프로 이동 큐의 front보다 현재 작업의 배포 가능한 남은 일수가 작다면, front가 배포 될 때 같이 배포되므로 push() 아니라면, 현재 큐에 있는 원소 개수를 answer에 추가하고, 큐 싹 비우기 다 비운 후, 현재 작업의 배포 가능한 남은 일수를 push() for 문을 다..
2023.06.16