hg5312   5년 전

아래 소스코드는 정답 코드 입니다.


for (int i = 0; i < N; i++) { 

    for (int j = 0; j < N; j++) { 

       rst = Math.max(rst, mem[i][j]); 

     }

}

32 - 36번줄의 코드를 위와같이 변경했을 때 오답인 것을 확인했는데요, 왜 틀린 것인지 잘 모르겠습니다.

26 - 30번줄의 코드를 통해 mem 변수에 최대값을 찾을 수 있도록 저장한 뒤 가장 큰 값을 얻으려고 했습니다.

위와 같은 코드를 입력했을 때 왜 틀린 것인지 알려주실 수 있을까요?

답을 얻은 후 아래 소스코드는 수정하도록 하겠습니다.

betain24   5년 전

제가 자바컴파일러가 없어서 테스트는 하지 못했으나

2

1 1

1 1

이런 테스트 값에서 mem[i][j]는 모두 0으로 되있을거같네요

조건문에 들어가지않아 mem[i][j]는 기본값이 depth 1이라는 값도 저장이 안되서 그런듯합니다..

모든 mem[i][j]를 1로 초기화화 하고 if (mem[ci][cj] != 0) 를 1이 아닐때 리턴하면 되지않을까요??

hg5312   5년 전

기본 체크를 하지 않았었네요ㅜㅡㅜ

감사합니다!

댓글을 작성하려면 로그인해야 합니다.