inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

51. 영지 (territory) 선택 (large : 2차원 배열 구간합 : 제한시간 1초 : DP)

90점이 나옵니다!!! (51번)

298

HB

작성한 질문수 12

0

선생님의 DP 방법을 듣고서
제 스스로 코드를 짜봤는데
 
이게 자꾸 Input 2에서 오류가 나는데 이유를 모르곘습니다....!
 
테스트시 input 2를 넣었을때)
나와야 하는 값 => 1231
제 값 => 1208
 
저 같은 경우에는
 
 
문제에 나온 예시로는 오렌지 값이 정답과 같이 들어갑니다
 
input2만 다르게 나와요! ㅜㅜ 이유를 모르겠습니다!! 도와주세요 .....
 
 
#include <iostream>


using namespace std;

int main() {
	
	int H,W;
	int max = -2147000000;
	int arr[701][701];
	int myH, myW;
	// input
	scanf("%d %d", &H, &W);
	for(int i=0; i<H; i++){
		for(int j=0; j<W; j++) scanf ("%d", &arr[i][j]);
	}
	scanf("%d %d", &myH, &myW);

	
	// orange 
	// 각 '칸까지의 사각형'의 합으로 채우기 	
	// [1] 테두리 채우기 
	for(int i=1; i<H; i++){ // 왼 세로 
		arr[i][0] = arr[i-1][0] + arr[i][0];
	}
	for(int j=1; j<W; j++){ // 위 가로 
		arr[0][j] = arr[0][j-1] + arr[0][j];
	}	
	// [2] 나머지 칸 채우기 
	for(int i=1; i < H; i++){	
			
		for(int j=1; j < W; j++){
			
			arr[i][j] += arr[i-1][j] + arr[i][j-1] - arr[i-1][j-1];
			
		}			
	}
	
	for(int i=0; i < H; i++){	
			
		for(int j=0; j < W; j++){
			
			printf("%d ", arr[i][j]);
			
		}			
		printf("\n");
	}
	
	// [3] 최대의 오렌지 갯수 구하기
	for(int i=myH; i<H; i++){
		
		int cnt = 0;
		
		for(int j=myW; j<W; j++){
			
			cnt = arr[i][j] - arr[i][j-myW] - arr[i-myH][j] + arr[i-myH][j-myW];
			if(max < cnt) max = cnt;		
			
		}
		
	} 
	
	// output
	printf("%d", max);

	return 0;
}

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

답변 1

1

김태원

안녕하세요^^

코드를 보니 별 이상 없어보이는데...

arr[0][0]부터 오렌지를 넣은 것 같은데,

for(int i=myH; i<H; i++){
		
		int cnt = 0;
		
		for(int j=myW; j<W; j++){
			
			cnt = arr[i][j] - arr[i][j-myW] - arr[i-myH][j] + arr[i-myH][j-myW];
			if(max < cnt) max = cnt;		
			
		}
		
	} 

for에서 i와 j가 myH와 myW부터 시작하는게 맞는지 여기가 의심스럽습니다.

0

HB

감사합니다!!

테스트 케이스 질문

0

390

1

병합정렬 시간복잡도 질문

0

476

1

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

0

1368

2

질문드립니다.

0

392

1

질문드립니다!

0

438

1

dev 프로그램 질문

0

277

1

문제가 이해가 안되요

0

381

1

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

0

310

1

source file not compiled

0

1075

3

59번 질문드립니다.

0

377

1

25번 문제 질문

0

352

1

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

0

378

1

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

0

473

1

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

0

367

1

75번, 79번 priority_queue관련

1

361

1

75.최대 수입 스케줄

0

404

2

복면산 정답의 수

0

438

1

테스트 케이스에 대해서

0

452

1

수업 내용 질문입니다!

1

237

1

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

0

848

2

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

0

259

1

다른 풀이 방식

0

320

1

크루스칼 vs 프림

0

316

1

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

0

246

1