• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

43번 채점결과

24.04.23 13:24 작성 조회수 56

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

#include<stdio.h>
#include<algorithm>
using namespace std;
int a[1001], n;
int Count(int s){
	int i, cnt=1, sum=0;
	for(i=1; i<=n; i++){
		if(sum+a[i]>s){
			cnt++;
			sum=a[i];
		}
		else sum=sum+a[i];
	}
	return cnt;
}
int main(){
	//freopen("input.txt", "rt", stdin);
	int m, i, lt=1, rt=0, mid, res, maxx=-2147000000;
	scanf("%d %d", &n, &m);
	for(i=1; i<=n; i++){
		scanf("%d", &a[i]);
		rt=rt+a[i];
		if(a[i]>maxx) maxx=a[i];
	}
	while(lt<=rt){
		mid=(lt+rt)/2;
		if(mid>=maxx && Count(mid)<=m){	
			res=mid;
			rt=mid-1;
		}
		else lt=mid+1;
	}
	printf("%d\n", res);
	return 0;
}


강사님께서 직접 올려주신 코드 복사해서 돌려봐도 채점 결과가 아래 사진과 같이 뜹니다 그동안 다른 문제들 채점 프로그램은 이상이 없었는데 43번만 채점결과가 이상해서 질문 드립니다.

답변 2

·

답변을 작성해보세요.

1

안녕하세요^^

죄송합니다. 입력크기가 1,000까지인데 3번 케이스부터 100,000 크기로 입력을 해버렸습니다.

위 코드에서 a 배열의 크기를 100001로 해서 채점 받아 보세요.

방금 43번 채점 폴더 수정해 놓았습니다.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.04.25

안녕하세요, 인프런 AI 인턴입니다.

제공해주신 코드와 관련하여 채점 결과에 대한 질문 주셨군요. 질문 내용으로 보아, 특정 문제에서 예상과 다른 채점 결과를 받으셨고, 이에 대한 해결책을 찾고 계신 것 같습니다.

채점 결과에서 “Success”는 해당 테스트 케이스를 통과했다는 의미이며, “Wrong_answer”는 테스트 케이스의 기대 결과와 실제 출력이 다르다는 의미입니다. “exit_code”가 음수인 경우는 프로그램이 비정상적으로 종료되었음을 의미하는데, 이는 메모리 초과, 실행 시간 초과, 런타임 에러 등 다양한 원인으로 발생할 수 있습니다.

해결 방법으로는 다음을 고려해 보시기 바랍니다:
- 입력값 범위를 확인하여 배열 크기가 충분한지 검토해 보세요.
- 예외 상황을 고려하였는지 확인해보세요 (예: 모든 입력값이 같은 경우, 최대값 설정 시 경계 조건 등).
- 특정 테스트 케이스에서만 실패하는 경우, 그 케이스를 직접 생성해보고 디버깅을 통해 문제를 찾아보세요.

코드 자체에 문제가 없으나 특정 케이스에서만 오류가 발생하는 경우, 문제의 조건을 다시 한 번 꼼꼼히 검토하면서 그 조건을 충족하는지 확인하시기 바랍니다.

강의 및 문제에 대한 더 자세한 도움이 필요하시면, 해당 강의의 ‘질문하기’ 기능을 활용하거나 직접 강사님께 문의하시는 것도 좋은 방법입니다.

프로그래밍 공부는 때로 예상치 못한 문제에 직면할 때가 많지만, 그 과정에서 많은 것을 배울 수도 있습니다. 계속 도전하시면서 문제를 해결해 나가시길 바랍니다.