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

AA66님의 프로필 이미지
AA66

작성한 질문수

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

3-D와 반례

3-D질문 있습니다.

작성

·

64

·

수정됨

0

두가지 질문이 있습니다.

  1. 저는 J랑 F가 제자리에 있을 때는 카운트 안 하고 이동할 때마다 증가해서 J가 아예 빠져나오는 것을 카운트해야된다고 생각하였는데 제가 잘못 생각하는걸까요..?

    ####
    #JF#
    # . . #
    # . . #
    ####
    --------------------------
    # J F #
    # 1 . #
    # 2 . # 이렇게 탈출했다고 생각하였습니다.


    3


    2. 불이 몇개 이상이다라는 조건이 없는데 한개만 가능하다라는 조건이 없기때문에 여러개가 가능하다고 생각을 해줘야되나요?? 이 문제는 생각보다 친절하지 않은 문제같은데 제 생각이 맞을까요ㅠ

     

답변 1

0

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

안녕하세요 ㅎㅎ

####
#JF#
# . . #
# . . #
####

이거는 막혀있는데 어떻게 탈출하나요?

 

2. 불이 몇개 이상이다라는 조건이 없는데 한개만 가능하다라는 조건이 없기때문에 여러개가 가능하다고 생각을 해줘야되나요?? 이 문제는 생각보다 친절하지 않은 문제같은데 제 생각이 맞을까요ㅠ

>> 넵 친절하지는 않네요 ㅎㅎ

근데 생각해보시면 친절하면 -> 난이도가 쉬워집니다. -> 난이도를 높이기 위해서 일부러 불친절하게 만들기도 합니다.

 

J는 입력에서 하나만 주어진다.

문제 지문을 보시면 J는 하나만 있네 -> F는 그런게 없구나 -> 많을 수도 있겠군 하면서 접근하시면 됩니다. ㅎㅎ

 

 

감사합니다.

AA66님의 프로필 이미지
AA66
질문자

####
#JF#
# . . #
# . . #
####

이렇게 막혀있다면 애초에 탈출이 불가함으로 제가 질문한 내용과는 다른것 같습니다..! 뚫려있는곳이 있다면 그 곳을 나온것을 마지막 카운트로 생각했습니다. 왜 제자리에서부터 걸음수를 1로 시작해줘야되는지 잘 모르겠습니다ㅠ

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

왜 제자리에서부터 걸음수를 1로 시작해줘야되는지 잘 모르겠습니다ㅠ

>> 이거는 BFS를 배울 때 나오는 부분인데요 ㅎㅎ

visited 방문배열은 1부터 만들어주어야 합니다. 0부터 시작할 수 있지만 그렇게 되면 -> visited == 0인 로직에서 해당 부분을 불필요하게 재 방문하거나 or 이 부분을 처리하는 로직을 더 넣어주어야 하기 때문에 시작지점은 1로 설정하는게 좋습니다.

 

감사합니다.

AA66님의 프로필 이미지
AA66
질문자

아 그 부분 때문이군요.. 가장 중요한걸 놓쳤네요..ㅎㅎ 감사합니다

AA66님의 프로필 이미지
AA66

작성한 질문수

질문하기