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

정재윤님의 프로필 이미지
정재윤

작성한 질문수

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

2-P

연구소 문제 시간 관련 질문

작성

·

353

·

수정됨

0

http://boj.kr/ebc33dce3e394b7099e34b3f523cb5f1

 

안녕하세요 강사님.

 

예전에 메일로 다른 언어로 코딩 테스트 준비한다 했던 학생입니다.

 

저는 연구소 문제를 풀 때, 따로 virusList, wallList를 만들지 않았습니다.

이러한 문제를 풀 때, 이렇게 따로 값을 저장하는 배열을 만들어야 할까요?

답변 2

0

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

네 괜찮습니다. 왜냐하면 재윤님 코드는

다음과 같이

해당 리스트를 만들지 않아도 이 코드만으로 그 리스트를 만들어서 하는 조건을 충족시키고 있거든요.

우리가 벽을 만들 수 있는 리스트를 만드는 이유는 이러한 IF문을 없애기 위해서입니다.

 if graph[i/m][i%m] == 0 && graph[j/m][j%m] == 0 && graph[k/m][k%m] == 0 

다만 바이러스 부분은 좀 아쉬운게

  for i in 0 ..< n {
    for j in 0 ..< m {
      if graph[i][j] == 2 {
        dfs(x: i, y: j, visited: &visited)
      }
    }
  }

바이러스 리스트를 만들지 않는다면 이런식으로 매번 순회해서 찾아서 해야하기 때문에 해당 부분에 대한 코스트가 들게 됩니다.

이건 만드는게 좋을 것 같아요.

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

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

감사합니다.

강사 큰돌 올림.

0

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

안녕하세요 재윤님 ㅎㅎ

링크를 타고가면 안보여요 ㅠㅠ

0주차 질문하는 법 참고하셔서 코드 공유 가능하실까요? ㅎㅎ

image

정재윤님의 프로필 이미지
정재윤
질문자

앗 수정했습니다. 죄송합니다.

정재윤님의 프로필 이미지
정재윤

작성한 질문수

질문하기