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

서장규님의 프로필 이미지
서장규

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

3-I

3-I 2번 케이스를 해야하는 이유를 제가 잘 이해한게 맞을까요?

작성

·

209

0

쌤, 강의 시간 3:36 초에서 [50만][50만] 배열을 생성하면 공간복잡도가 커서 안된다는 말씀을 듣고 그 예시를 코드로 작성해 보았습니다! (Case 2 를 해야하는 이유를 이해하기 위해서)
http://boj.kr/3b3efff1b680482380e9e4a513b6ce12

max 를 500으로 하면 돌긴하는데 당연히 틀리고, 50만으로 하니 컴파일 에러가 떠서 안되더라구요..

 

이차원 배열 행을 "각 턴"으로 생각하였고, 열을 "위치"로 생각하여 풀었습니다.

영상에서는 "수빈의 범위", "동생의 범위"라고 알려주시긴 하셨는데 같은 내용으로 이해한 것이 맞는지 궁금하였습니다!

답변 1

1

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 장규님 ㅎㅎ

const int max_n = 500000; 

int visited[max_n][max_n + 4], a, b, ok, turn = 1;

 

>> 이렇게 하면 배열의 범위가 너무 커서 안됩니다.

 

이차원 배열 행을 "각 턴"으로 생각하였고, 열을 "위치"로 생각하여 풀었습니다.
>> 네 맞습니다.

 

영상에서는 "수빈의 범위", "동생의 범위"라고 알려주시긴 하셨는데 같은 내용으로 이해한 것이 맞는지 궁금하였습니다!

>> 정확히는 { 수빈이가 온 턴이 짝수인지 홀수인지, 동생의 범위 }라고 보시면 됩니다.




또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.


서장규님의 프로필 이미지
서장규
질문자

"수빈이가 온 턴이 짝수인지 홀수인지" 잘 이해가 됬습니다 ㅎㅎ
답변 감사드립니다!

서장규님의 프로필 이미지
서장규

작성한 질문수

질문하기