Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

08_DFS_BFS #18

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open

08_DFS_BFS #18

wants to merge 2 commits into from

Conversation

lumiere-on
Copy link
Collaborator

@lumiere-on lumiere-on commented Apr 9, 2024

학번: 22776107
이름: 문재원

과제 제출
기존 제출: 2606, 2615
추가 제출: 2644

@lumiere-on lumiere-on linked an issue Apr 9, 2024 that may be closed by this pull request
@lumiere-on lumiere-on changed the title [DFS_BFS] 08_DFS_BFS Apr 9, 2024
Copy link

@aeyongdodam aeyongdodam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2606(P3), 2644(P3)
안녕하세요 재원님! 코드 리뷰 완료되었습니다👍
dfs를 이용하여 두 문제 모두 잘 풀어주셨네요!
특히 촌수계산 문제에 주석이 잘달려있어서 너무 좋았습니다~
늘 성실하게 과제 제출해주셔서 감사합니다.
이번주도 고생하셨습니다! 시험 기간 화이팅입니다~!
몇 가지 사소한 코멘트 남겼습니다.
궁금하신 점이 있다면 리뷰어를 호출해주세요!

Comment on lines +10 to +19
void doDfs(int index, vector<int>& ans_dfs){
visited[index]=true;
ans_dfs.push_back(index);

for(int i=1; i<=num; i++){
if(li[index][i]==1 && !visited[i]){
doDfs(i, ans_dfs);
}
}
}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P3: dfs를 이용한 풀이 너무 좋습니다!
주석이 있으면 더더욱 좋을 것 같습니다~!

Comment on lines +6 to +9
int n, a, b, m; //함수에서 사용할 변수를 전역 변수로 선언.
vector<vector<int>> li; // 그래프를 나타내는 인접 리스트
vector<bool> visited; // 방문 여부를 체크하는 벡터
int ans = -1; // 최종 촌수 저장, 기본값은 -1(친척 관계 없음)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P3: 꼼꼼한 주석 너무 좋습니다!

Comment on lines +11 to +26
void dfs(int v, int num) { //dfs로 촌수 계산.
// 현재 노드 방문 처리
//찾길 원하는 사람의 번호에 방문 처리.
visited[v] = true;

if (v == b) { // 촌수를 구한 경우
ans = num; //촌수를 저장할 변수인 ans에 num값 저장.
return;
}

for (int i = 1; i <= n; i++) { //전체 사람의 수
if (li[v][i] == 1 && !visited[i]) { // 인접하고 아직 방문하지 않은 것에 대해 dfs 실행
dfs(i, num + 1); //dfs 함수 순환 호출
}
}
}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P3: dfs로 촌수 관계 계산을 잘 해주셨네요
함수가 달려있어 이해가 빨리 되었습니다!

Copy link

@chaeri93 chaeri93 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[DFS/BFS 구현 코드 리뷰 완료]
2615(P2)
안녕하세요 재원님!
이번 구현 문제가 살짝 난이도가 있었는데 정말 잘 풀어주신 것 같습니다🥰
추가적으로 고려해보시면 좋을 것들 몇 가지만 코멘트로 남겼습니다. 한 번 읽어봐주세요!
과제하느라 고생하셨어요!!💚


using namespace std;

const int MAX=19;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

바둑판의 크기를 상수로 미리 정의해두고 사용해주셨네요! 이런 식으로 반복해서 사용하는 숫자는 하드코딩하는 것보다 상수로 선언하는게 숫자를 잘못 적을 가능성도 적어지고, 유지보수할 때도 좋아요 👍👍👍

Comment on lines +22 to +24
else return true;
}else return false;
}else return true;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P3: return 이후의 코드는 실행되지 않을 테니 어떻게 보면 else문과 같은 역할을 할 수 있어요. 따라서 if-return 사용 시, else문 사용은 지양해주세요!!

}


int main(){

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

구현하시느라 너무 수고 많으셨습니다. 다만 주석이 있었으면 더 좋았을 것 같습니다! 다음 과제에서부터는 주석까지 꼭 달아주세요:)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

08_DFS_BFS
3 participants