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

조현성님의 프로필 이미지
조현성

작성한 질문수

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

3-G 와 테스트케이스 팁

3-G 풀이 원리가

해결된 질문

작성

·

327

·

수정됨

0

수빈이가 가는 모든곳을 계산할건데

next가 먼저 자리잡는애가 최단시간 거리고

next가 먼저 자리잡은애가 있는데 지금자리에서 1번만에 이동가능하면 else if 문이 실행되서 cnt가 늘어나는거고

그중에서 동생이 있는곳의 값을 출력하는거군요??

그리고 for (int next : {now-1, now+1, now*2}) 이 부분을 int i=0; i<n;i++ 이런식으로 구현하려면 어떻게 해야할까요? 그냥 몰라도 되려나요

답변 1

1

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

안녕하세요 현성님 ㅎㅎ

해당부분을 이렇게 바꾸시면 됩니다.

        for(int i = 0; i < 3; i++){
        	int next = b[i]; 
            if (0 <= next && next <= MAX) { 
                if (!visited[next]) {
                    q.push(next); 
                    visited[next] = visited[now] + 1;
                    cnt[next] += cnt[now];
                } else if (visited[next] == visited[now] + 1) {
                    cnt[next] += cnt[now];
                }
            }
		}   

 

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

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

감사합니다.

강사 큰돌 올림.

조현성님의 프로필 이미지
조현성

작성한 질문수

질문하기