강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

rhd0503님의 프로필 이미지
rhd0503

작성한 질문수

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

46. 멀티 태스킹

질문있습니다

작성

·

154

0

안녕하세요? 현재 열심히 수강중인 수강생입니다.

저는 이 문제에 대해서 아래와 같이 코드를 구성하였고, k번째에 정전이 일어났기에 아래의 로직에 의하면 k+1이 다음 작업 순서라 생각하여 이렇게 구성하였습니다. 아직 자료구조에 대해 자세히는 알지 못해 효율성 측면에서 제 코드 별로인지 여쭤보고 싶습니다!

#include 
#include 
#include 
using namespace std;
int main(){
	freopen("AA.txt","rt",stdin);
	int n,k,i,pos=0,cnt=0,cnt2=0,tot=0;
	scanf("%d",&n);
	vector a(n+1);
	for(i=1;i<=n;i++){
		scanf("%d",&a[i]);
		tot+=a[i];
	}
	scanf("%d",&k);
	if(tot<=k){
		printf("%d",-1);
		return 0;
	}
	while(1){
		pos++;
		if(pos>n) pos=1;
		if(a[pos]==0) continue;
		else if(a[pos]>0){
			a[pos]--;					
			cnt++;	
			if(cnt==k+1){				
				printf("%d",pos);
				break;
			}		
		}		
	}
	return 0;
}	

답변 1

0

김태원님의 프로필 이미지
김태원
지식공유자

좋은 코드입니다. 알고리즘 문제풀이에 재능이 있어 보입니다. 열심히 하셔서 코딩테스트에 꼭 합격하세요^^

rhd0503님의 프로필 이미지
rhd0503

작성한 질문수

질문하기