인프런 커뮤니티 질문&답변
배열 할당할 때....
작성
·
301
0
int a[51][51];
bool visited[51][51];
이렇게 50이 아니라 51로 잡으시는 이유는 무엇인가요 ??
보통 50개 인데 조금씩 더 잡아야하는 경우와 그래야 하는 이유가 궁금합니다 !
그리고
fill(&map[0][0], &map[0][0] + 51 * 51, 0);
fill(&visited[0][0], &visited[0][0] + 51 * 51, 0);
올려주신 코드에서 이 부분이 없으면 백준에 제출 했을 떄 오류가 나는 이유도 궁금합니다 !
감사합니다 ~!~!
퀴즈
코딩 테스트 문제를 풀 때, 문제 유형에 따라 미리 정해진 알고리즘 분류에만 의존하는 것을 지양해야 하는 이유는 무엇일까요?
알고리즘 분류는 오래된 정보일 수 있어서
실제 문제에서는 어떤 알고리즘을 쓸지 스스로 판단해야 해서
알고리즘 분류는 코딩 테스트에 불필요해서
분류에 의존하면 더 효율적인 알고리즘을 놓칠 수 있어서
답변 1
1
안녕하세요. yskim80512님 ㅎㅎ
int a[51][51];
bool visited[51][51];
이렇게 50이 아니라 51로 잡으시는 이유는 무엇인가요 ??
보통 50개 인데 조금씩 더 잡아야하는 경우와 그래야 하는 이유가 궁금합니다 !
>> 오버플로에 대한 맞왜틀을 방지하기 위한 노하우입니다. 꼭 그래야 하는 이유는 없지만 하면 좋습니다. 이부분은 "교안"에 잘 설명되어있습니다.
그리고
fill(&map[0][0], &map[0][0] + 51 * 51, 0);
fill(&visited[0][0], &visited[0][0] + 51 * 51, 0);
올려주신 코드에서 이 부분이 없으면 백준에 제출 했을 떄 오류가 나는 이유도 궁금합니다 !
>> 문제와 전체코드를 올려주시면 더 정확한데요. 아마 테스트케이스 또는 배열을 "초기화"해야 하는 경우가 발생되서 그런것같습니다.
정확하게 보려면 문제와 전체코드를 올려주셔야 하긴 하지만 아마 위의 이유로 해야 할겁니다.
또 질문사항있으시면 언제든 말씀 부탁드립니다.
감사합니다.
강사 큰돌 올림.






감사합니다 !!!