작성
·
8
0
안녕하세요 선생님! 수업 듣는 도중 이해가 가지 않는 부분이 있어 질문드리게 되었어요.
"8:19~ 이후" 부터 범위가 50만이기 때문에
50만 * 50만의 2차원 배열을 만들 수 없다고 설명해주셨어요. 하지만 만약 범위가 500 정도라면 2차원 배열을 만들어서 활용했을 것이다 라고 말씀해주셨고요.
저는 범위가 500일 때, 2차원 배열을 어떤 식으로 만들어서 활용하신다는건지 잘 이해하지 못했어요.
arr[수빈이의 상태][동생의 상태] 로 만들어서 활용한다는 의미인 것으로 이해했고, 이 "상태" 라는 것은 이 문제의 경우 "위치, 즉 x값" 이라고 생각했어요.
그렇다면 예를 들어
arr[1][3]은 수빈이가 x=1에 위치하고, 동생이 x=3에 위치할 때의 값이라는 건데, 그 "값"은 무엇을 의미하나요? 수빈이와 동생이 각각 해당 위치일 때의 시간을 의미하는건가요?
만약 '시간'을 의미하는게 맞다면, 저는 해당 배열을 활용하는 예시가 전혀 생각나지 않아서 질문드렸어요.
간단히 생각해보았을 때는 오히려 불필요한 행위가 될 것 같기도 하고요. 왜냐하면 저희가 궁금한것은 궁극적으로 arr[samePos][samePos] 일텐데 이 값을 알아내는 순간은 arr가 필요 없을 것 같아서요.
결국 질문을 아주 간단하게 요약하면,
"범위가 500 정도라면 2차원 배열을 만들어서 활용했을 것이라고 해주셨는데, 어떻게 활용한다는 건지 이해가 안갑니다. 활용 방안이 떠오르지 않아요"
입니다.
감사합니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. K케이님 질문하신 내용을 기반으로 답변을 드리겠습니다.
다차원 배열을 사용하는 이유 중 하나는 상태를 기록하고, 이를 기반으로 문제를 해결하는 전략을 구축하는 것입니다. 질문에서 언급하신 것처럼, 수빈이와 동생의 위치를 각각의 차원으로 두어 배열을 구성할 수 있습니다. 이때 각 배열 요소는, 예를 들어 “해당 위치 조합이 가능한 시점” 등을 의미할 수 있습니다.
특히 범위가 작은 경우, 모든 가능성을 기록하고 탐색하기엔 메모리 활용이 적절할 수 있습니다. 수빈이가 x 위치에 몇 초에 도달할 수 있는지를 기록하고, 동생의 이동과 비교해 어떤 시점에 같은 위치에 도달하는지를 빠르게 찾는 데 사용될 수 있습니다.
이해를 돕기 위해 유사한 질문과 답변이 있는 경우를 소개드립니다:
각 게시물은 상태를 기록하는 방법과, 이를 통해 얻을 수 있는 이점 및 문제점을 설명하고 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.