inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

44. 마구간 정하기 (이분검색 응용 : 결정 알고리즘)

이렇게 해도 되나요?

270

유하

작성한 질문수 36

0

간단하게 보여드리기 위해

변수랑 숫자는 문제 그대로를 사용했습니다

arr배열에 1~9까지를 누적 합계를 사용하여 

total/m 과 가장 차이가 나지 않는 부분에 도달하면

분리시킬 수 있도록 만들어봤는데

이렇게 해도 되나요?

 

#include <iostream>
 #include <math.h>
 
using namespace std;

int arr[9]={1,3,6,10,15,21,28,36,45};

int main(){
	int m=3;
	int totalmax=0;
	int total=45;
	int lt=0,rt=8;
	int d=0;
	int min=0;
	while(lt<=rt){
		int idx=0;
		min=21000000;
		
		for(int i=lt;i<=rt;i++){
			
			arr[i]=arr[i]-d;
			cout<<i<<"arr:" << arr[i]<<endl;
			if(min > abs((total/m) - arr[i])){
				min=abs((total/m) - arr[i]);
				idx=i;
				
			}
		}
		d=arr[idx];
		cout << "d:"<<d<<endl;
		
		if(totalmax < arr[idx]){
			totalmax=arr[idx];

		}
		lt=idx+1;
		
		
	}
	
	cout << totalmax;
	
}

C++ 코테 준비 같이 해요!

답변 1

0

김태원

안녕하세요^^

채점폴더를 드렸으니 채점받을 수 있는 코드로 구현해서 한 번 채점을 해보시기 바랍니다.

테스트 케이스 질문

0

388

1

병합정렬 시간복잡도 질문

0

475

1

41.연속된 자연수의 합 문제풀이에서 수학적인 원리를 모르고 있습니다.

0

1365

2

질문드립니다.

0

389

1

질문드립니다!

0

437

1

dev 프로그램 질문

0

276

1

문제가 이해가 안되요

0

379

1

4번 나이차이 문제 접근법 질문 드립니다.

0

308

1

source file not compiled

0

1065

3

59번 질문드립니다.

0

374

1

25번 문제 질문

0

350

1

4. 나이차이 문제 질문입니다.

0

376

1

90번 라이언 킹 심바 1번 테스트 케이스

0

472

1

71번 문제 전역 변수 질문 있습니다

0

366

1

75번, 79번 priority_queue관련

1

360

1

75.최대 수입 스케줄

0

403

2

복면산 정답의 수

0

437

1

테스트 케이스에 대해서

0

450

1

수업 내용 질문입니다!

1

236

1

풀어보면 좋은 문제 목록 - 2580 스토쿠 DFS 질문입니다!!

0

838

2

12. 플로이드-와샬(그래프 최단거리) . 27:25초

0

257

1

다른 풀이 방식

0

318

1

크루스칼 vs 프림

0

313

1

숫자 총개수 small 질문있습니다.

0

246

1