Queue
개념
먼저 들어간 것이 먼저 나오는 선입선출(FIFO, First In Fast Out) 방식
문제 1. 기능 개발
설명
프로그래머스팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또 각 기능의 개발 속도는 모두 다르므로 뒤의 기능이 앞의 기능보다 먼저 개발될 수도 있습니다. 이때, 뒤의 기능은 앞의 기능이 배포될 때 함께 배포되어야 합니다.
배포 순서대로 작업 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 개의 기능이 배포되는지를 반환하도록 solution() 함수를 완성하세요.
제약 조건
작업 개수(progresses, speeds의 배열 길이)는 100개 이하입니다.
작업 진도는 100 미만의 자연수입니다.
작업 속도는 100 이하의 자연수입니다.
배포는 하루에 한 번만 할 수 있으며, 하루의 끝에 이루어진다고 가정합니다.
예를 들어 진도율이 95%인 작업의 개발 속도가 하루에 4%라면 배포는 2일 뒤에 이루어집니다.
입출력의 예
[93, 30, 55]
[1, 30, 5]
[2, 1]
[95, 90, 99, 99, 80, 99]
[1, 1, 1, 1, 1]
[1, 3, 2]
코드
문제 2. 카드 뭉치
설명
코니는 영어 단어가 적힌 카드 뭉치 2개를 선물로 받았습니다. 코니는 다음과 같은 규칙으로 카드에 적힌 단어들을 사용해 원하는 순서의 단어 배열을 만들 수 있는지 알고 싶습니다.
원하는 카드 뭉치에서 카드를 순서대로 한 장씩 사용합니다.
한 번 사용한 카드는 다시 사용할 수 없습니다.
카드를 사용하지 않고 다음 카드로 넘어갈 수 없습니다.
기존에 주어진 카드 뭉치의 단어 순서는 바꿀 수 없습니다.
제약 조건
1 <= cars1 의 길이, cards2 의 길이 <= 10
1 <= cards1[i] 의 길이, cards2[i] 의 길이 <= 10
cards1과 cards2에는 서로 다른 단어만 있음
2 <= goal의 길이 <= cards1의 길이 + cards2의 길이
1 <= gaol[i]의 길이 <= 10
goal의 원소는 cards1과 cards2의 원소들로만 이루어져 있음
cards1, cards2, goal의 문자열들은 모두 알파벳 소문자로만 이루어져 있음
입출력의 예
["i", "drink", "water"]
["want", "to"]
["i", "want", "to", "drink", "water"]
"Yes"
["i", "water", "drink"]
["want", "to"]
["i", "want", "to", "drink", "water"]
"No"
코드
참고
Last updated