인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

khm님의 프로필 이미지

작성한 질문수

IT 기업 취업을 위한: 코딩테스트 혼자서 정복하기 (C/C++)

장기문제 구현2 - 변위 배열을 사용한 코드 간소화

장기문제 최종 cpp파일

작성

·

39

0

안녕하세요!

장기문제_최종.cpp 파일에 보면 강의 영상과 다르게

int grid[310][310];

110이 아닌 310으로 구현되어 있는데 이유가 무엇인가요??

답변 2

0

조이스터디님의 프로필 이미지
조이스터디
지식공유자

안녕하세요 khm님.

문제에서 1<=m, n<=100가 주어졌으므로, grid[100][100]으로 설정하는 것으로 충분합니다.

올바르게 작성된 코드는 문제에서 주어진 grid의 범위를 벗어나지 않지만,
그럼에도 배열의 크기를 크게 설정한 이유는
1)인덱스를 1부터 활용하는 등, 추가 공간이 필요한 경우를 사전에 대응하고
2)out of bound 에러를 방지하고
3)디버깅을 수월히 하기 위함입니다.

개인적인 성향에 따라 달라질 수 있는 부분이니 무겁게 받아들이실 필요는 없습니다 :)

khm님이 만족하시는 답변이 되었기를 바라며, 답변 해결로 상태 변경을 부탁드립니다.

이후에도 문제를 풀거나 공부하시면서 어려운 점이 있다면 질문 올려주세요.

감사합니다.

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다.

khm님, 강의에서 사용된 int grid[310][310];의 크기는 문제 풀이에서 최대한 많은 경우를 대비하기 위한 것입니다. 기본적으로 배열의 크기를 크게 잡는 이유는 프로그램이 처리할 수 있는 데이터 크기를 충분히 수용하여 오류를 방지하기 위함입니다. 강의 영상에서는 특정 조건 하에 110으로 설정했을 수 있지만, 실제 코딩 테스트에서는 더 큰 입력이나 복잡한 환경에 대비하여 310으로 설정하는 것이 일반적일 수 있습니다.

큰 배열 크기를 설정하는 또 다른 이유는 코딩테스트에서 문제가 제기될 경우 안전한 범위 내에서 문제를 해결하기 위함입니다. 만약 한정된 크기의 배열을 사용하다가 배열 범위를 벗어나는 문제가 발생하면 예기치 않은 오류를 발생시킬 수 있습니다.

유사한 질문의 더 구체적인 답변을 확인하고자 하시면 다음 링크를 참고하시기 바랍니다:
- 동전문제에서 배열 크기 변경에 대한 설명

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

khm님의 프로필 이미지

작성한 질문수

질문하기