プログラマ:開発機能(スタック/キュー)かいはつきのう(スタック/キュー)
7824 ワード
機能開発(スタック/キュー)
質問する
に答える
プログラマは問題をスタック/キューの問題に分けます.
この問題は、スタック/キューを使用することなく解決できます.
条件さえ満たせば解決しやすい問題です.
条件1:進捗が100%の場合に配置できます.
条件2:後の機能進捗が100%であっても、前の機能
進捗が100%でない場合は、導入できません.
条件3:導入時に導入された機能の数を回答します.
C++コード
#include <string>
#include <vector>
using namespace std;
vector<int> solution(vector<int> progresses, vector<int> speeds) {
vector<int> answer;
int size = progresses.size();
// 작업 완료 수
int count = 0;
// 작업이 모두 완료되면 종료
while(count < size) {
// 배포 기능 수 초기화
int n = 0;
// 작업 진도 나가기
for(int i = count; i < size; i++) {
progresses[i] += speeds[i];
}
// 조건에 맞게 완료된 작업이 있으면 배포 준비
while(count < size && progresses[count] >= 100) {
n++;
count++;
}
// 배포 가능한 기능이 있으면 배포
if(n != 0) {
answer.push_back(n);
continue;
}
}
return answer;
}
Pythonコード
def solution(progresses, speeds):
answer = []
size = len(progresses)
# 작업 완료수
count = 0
# 작업이 모두 완료되면 종료
while count < size:
# 배포 기능 수 초기화
n = 0;
# 작업 진도 나가기
for i in range(size):
progresses[i] += speeds[i]
# 조건에 맞게 완료된 작업이 있으면 배포 준비
while count < size and progresses[count] >= 100:
n += 1
count += 1
# 배포 가능한 기능이 있으면 배포
if n != 0:
answer.append(n)
return answer
Reference
この問題について(プログラマ:開発機能(スタック/キュー)かいはつきのう(スタック/キュー)), 我々は、より多くの情報をここで見つけました https://velog.io/@imchanyang/프로그래머스-기능개발-스택큐テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol