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

정준영님의 프로필 이미지
정준영

작성한 질문수

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

3-I

3-I 질문 있습니다

해결된 질문

작성

·

40

0

안녕하세요 큰돌님 3-I 문제에서

왜 visited를 2차원으로 구현해야 하는 지 이해가 잘 안갑니다.. ㅠㅠ

저는 수빈이는 visited1 , 동생은 visited2 로 따로 visited배열을 만들고

각각 거리를 구해놓은 뒤에

  1. 두 개가 같은 경우 ,

  2. 수빈이가 먼저 도착하고 동생이 짝수 시간 뒤에 도착하는 경우

     

    이렇게 두 가지 경우로 해서 결과를 찾았습니다.

     

    문제 예제는 다 통과하는 거 같긴 한데 제출하면 틀리다고 뜹니다 ㅜㅜ

     

    그래서 궁금한 것은

     

    1.왜 꼭 visited배열을 2차원으로 해야 하는지

  1. 제 코드대로 했을 때 예제는 통과하지만 제출하면 틀리는 이유는 무엇인지, 어떻게 수정해야 하는지 궁금합니다!!

http://boj.kr/6caf1eeb09f842659601eb08eede7197

답변 2

0

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

안녕하세요 준영님 ㅎㅎ

왜 visited를 2차원으로 구현해야 하는 지 이해가 잘 안갑니다.. ㅠㅠ

-> 코드도 봤는데요. ㅎㅎ 이문제는 반드시 2차원이 필요합니다. 1차원으로는 풀 수 없는 문제입니다.

예를 들어 수빈이가 1초에 a라는 지점에 왔어요. 동생이 3초에 a지점에 왔습니다. 이러면 이 a라는 지점에서 "만날 수 있는" 것이겠죠? 그러나. 수빈이가 2초에 a지점에 오면 동생이 3초에 a지점에 와도 만날 수 없죠? 이러한 것을 구분하기 위해 홀짝을 판단하는{0, 1} * 정점 이렇게 해서 -> 2차원배열이 무조건 필요하게 됩니다.

~~ 한 경우의 수를 구분하려면 -> 이런게 필요하구나. 라고 이해하시면 됩니다.

 

코드리뷰.

수빈이먼저 방문 -> 동생이 방문하면서 하는 로직은 좋습니다ㅎㅎ

하지만 앞에 설명드린 경우의 수를 구분하지 못하는 코드인 것 같습니다.



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

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

감사합니다.

강사 큰돌 올림.


 

0

안녕하세요, 인프런 AI 인턴입니다. 정준영님,

visited 배열을 2차원으로 구현하는 이유는 수빈이와 동생의 위치를 시간에 따라 정확하게 추적하기 위해 필요합니다. 각 위치를 홀수와 짝수 시간으로 관리함으로써, 특정 시간에 도달할 수 있는지를 명확히 하여 만날 수 있는지 여부를 판단해야 합니다.

유사한 질문에 대해 설명하고 있는 기존 답변을 확인할 수 있는 URL을 첨부합니다:

3-I 17071번 숨바꼭질 5 질문있습니다

이 답변에서는 visited 배열을 2차원으로 사용하는 이유와 이를 통해 수빈이와 동생이 같은 위치에서 만날 수 있는 시간을 어떻게 계산하는지 설명합니다.

3-I 질문 있습니다

이 답변에서는 왜 배열을 2차원으로 관리해야 하는지, 수빈이와 동생의 시간 차이가 홀수와 짝수로 나뉘는 부분이 어떻게 문제 해결에 중요한 역할을 하는지 설명합니다.

특히, 동생과 수빈이의 방문 시간을 홀수와 짝수로 구분하여 관리하면 시간이 지남에 따라 동생과 수빈이가 특정 위치에서 만날 수 있는지를 정확하게 추적할 수 있습니다. 이는 단순히 1차원 방문 배열로는 처리하기 어려운 문제입니다.

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

정준영님의 프로필 이미지
정준영

작성한 질문수

질문하기