강의

멘토링

로드맵

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

Vanellope i님의 프로필 이미지
Vanellope i

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

7-B

7-B 질문

해결된 질문

작성

·

35

0

for(int i = 1; i <= n; i++){
        for(int j = 1; j <= n; j++){
            if(check(i, j + 1, 0))dp[i][j + 1][0] += dp[i][j][0];
            if(check(i + 1, j + 1, 1))dp[i + 1][j + 1][1] += dp[i][j][0]; 

            if(check(i + 1, j, 2))dp[i + 1][j][2] += dp[i][j][2];
            if(check(i + 1, j + 1, 1))dp[i + 1][j + 1][1] += dp[i][j][2]; 
            
            if(check(i, j + 1, 0))dp[i][j + 1][0] += dp[i][j][1];
            if(check(i + 1, j, 2))dp[i + 1][j][2] += dp[i][j][1];
            if(check(i + 1, j + 1, 1))dp[i + 1][j + 1][1] += dp[i][j][1];  
        }
    }   

위부분에서 Check()부분은 이해가 됬는데

 

왜 if문을 2개 2개 3개를 하는지 잘 이해가 안갑니다..

퀴즈

51%나 틀려요. 한번 도전해보세요!

동적 계획법(Dynamic Programming)을 적용하기 위한 주요 조건은 무엇일까요?

탐욕적 선택 속성, 최적 부분 구조

최적 부분 구조, 중복되는 부분 문제

중복되는 부분 문제, 결정론적 결과

탐욕적 선택 속성, 메모이제이션

답변 1

0

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 ㅎㅎ

해당 부분은 이부분을 구현한 것이기 때문에 2, 2, 3이 필요합니다. ㅎㅎ

image.png

 

 

 


 

또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.


Vanellope i님의 프로필 이미지
Vanellope i

작성한 질문수

질문하기