dionjin   3년 전

테스트케이스, 반례케이스 모두 통과했는데 채점만 하면 틀렸다 나와서 혹시나 하고 배열 범위를 Map[10][10] -> Map[15][15] 이상으로 늘리니 통과가 되네요

코드상 처음 Map[0][0]부터 1이 나올때 까지 찾다가 1이 나오면 그 좌표를 왼쪽 상단 꼭지점으로 사이즈 5짜리 부터 붙일수 있는지 확인해보게 만들었는데요

예를들어 Map[0][0] == 1이면 Map[0][0] ~ Map[4][4] 까지 모두 1이면 사이즈 5, Map[0][0] ~ Map[3][3] 까지 모두 1이면 사이즈 4 이런식 ...

그런데 10x10 크기로 선언했으니 당연히 끝부분 Map[0][9] 에서 사이즈 체크를 시작한다고 했을 때 Map[0][10]은 선언 범위를 벗어나니 0이므로

사이즈는 1일 것이라 생각하고 만들었습니다. 테스트 케이스도 잘 돌았구요. 그런데 채점에 넣으면 0이 아닐수가 있는거 같은데.. 이부분에 대해서 정확히좀 알 수 있을까요?

dionjin   3년 전

디버깅 할 떄도 선언 범위 벗어난 곳은 모두 0으로 나옵니다 ㅜ

112224   3년 전

음 전체코드를 본 상황이 아니어서 틀릴 수 도 있습니다만,

1) 선언 범위가 벗어난 곳의 값은 알 수 없습니다. visual의 경우에는 값을 0으로 채워주는 것 같긴 한데 좋은 방식은 아닙니다. 표준도 아닙니다.

2) 아마 10 x 10 배열로 설정하시고 크기에 대한 예외처리를 두셔도 AC가 나올 것이라 생각됩니다.

로컬에서의 과도하게 친절한 컴파일러가 이런 오류를 만든 것 같습니다.

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