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

guy t님의 프로필 이미지
guy t

작성한 질문수

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

46. 멀티 태스킹

이 코드의 문제점이 알고싶습니다.

작성

·

167

0

int main() {
	freopen("input.txt", "rt", stdin);

	int i, n, k, cnt = 0, pos = 0, total = 0;;

	scanf("%d", &n);
	vector<int> arr(n);
	for (i = 0; i < arr.size(); i++) {
		scanf("%d", &arr[i]);
		total += arr[i];
	}
	scanf("%d", &k);
	if (total < k) {
		printf("-1\n");
		return 0;
	}
	while (1) {

		if (arr[pos] > 0) {
			
			arr[pos]--;
			cnt++;
		}
		else {
			pos++;
			continue;
		}
		if (cnt == k) {
			printf("%d", pos + 1);
			break;
		}
		pos++;

		if (pos > n - 1) {
			pos = 0;
		}
	}

}

답변 1

1

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

아래 입력으로 디버그해보세요.

3

1

2

3

3

답은 2입니다.

guy t님의 프로필 이미지
guy t

작성한 질문수

질문하기