강의

멘토링

커뮤니티

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

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

작성한 질문수

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

7-B

7-B 질문

해결된 질문

작성

·

18

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개를 하는지 잘 이해가 안갑니다..

답변 1

0

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

안녕하세요 ㅎㅎ

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

image.png

 

 

 


 

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

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

감사합니다.

강사 큰돌 올림.


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

작성한 질문수

질문하기