강의

멘토링

커뮤니티

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

IJILKJ님의 프로필 이미지
IJILKJ

작성한 질문수

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

9. 봉우리

채점결과 exit_code_1

작성

·

222

0

5문제중에 3문제는 success고 2문제는 exit_code_1이 뜨는데 이게 무슨뜻인가요??

알고리즘은 아래와 같이 만들었습니다.

n = int(input())
matrix = [[0] * n]
for _ in range(n):
    matrix.append(list(map(int, input().split())))
matrix.append([0] * n)
for i in range(1, n+1):
    matrix[i].insert(0, 0)
    matrix[i].append(0)

dx = [0, 0, -1, 1]
dy = [-1, 1, 0, 0]
cnt = 0
for i in range(1, n+1):
    for j in range(1, n+1):
            for k in range(4):
                x, y = i+dx[k], j+dy[k]
                if matrix[i][j] <= matrix[x][y]:
                    break

                if k == 3:
                    cnt += 1
print(cnt)

답변 1

0

김태원님의 프로필 이미지
김태원
지식공유자

위 코드를 채점해보니 3번과 4번 데이터에서 exit_code_1라는 에러메세지가 뜹니다. 

input.txt 파일을 이용해서 공부하는 법을 알려드렸으니, 이럴때는 제공한 3번 데이터를 input.txt파일에 복사붙여넣기 한 다음 본인 코드를 실행시켜 에러메세지를 확인해 버그를 잡아야 합니다.  스스로 버그를 잡는 연습을 해야 실력이 향상됩니다. 1~2시간 버그를 잡는데도 안 될 경우 그 때 질문하면 좋은 공부법이 될 것 같습니다.

3번 데이터를 위 코드로 실행시켜 보니 if matrix[i][j] <= matrix[x][y]: 부분에서 list index out of range 에러 메세지가 뜹니다.

0으로 matrix 리스트의 모서리들을 완벽하게 감싸지 못한 것 같습니다. 

분명 제대로 감싸지 못했음에도 1번, 2번, 5번 데이터는  채점이 왜 성공하는지 확인해보는 것도 좋을 것 같습니다.

IJILKJ님의 프로필 이미지
IJILKJ

작성한 질문수

질문하기