1937번 - 욕심쟁이 판다
아래 소스코드는 정답 코드 입니다.
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 변수에 최대값을 찾을 수 있도록 저장한 뒤 가장 큰 값을 얻으려고 했습니다.
위와 같은 코드를 입력했을 때 왜 틀린 것인지 알려주실 수 있을까요?
답을 얻은 후 아래 소스코드는 수정하도록 하겠습니다.
제가 자바컴파일러가 없어서 테스트는 하지 못했으나
2
1 1
이런 테스트 값에서 mem[i][j]는 모두 0으로 되있을거같네요
조건문에 들어가지않아 mem[i][j]는 기본값이 depth 1이라는 값도 저장이 안되서 그런듯합니다..
모든 mem[i][j]를 1로 초기화화 하고 if (mem[ci][cj] != 0) 를 1이 아닐때 리턴하면 되지않을까요??
기본 체크를 하지 않았었네요ㅜㅡㅜ
감사합니다!
댓글을 작성하려면 로그인해야 합니다.
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 변수에 최대값을 찾을 수 있도록 저장한 뒤 가장 큰 값을 얻으려고 했습니다.
위와 같은 코드를 입력했을 때 왜 틀린 것인지 알려주실 수 있을까요?
답을 얻은 후 아래 소스코드는 수정하도록 하겠습니다.