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

[ 트리 ] 11월 21일 #11

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

[ 트리 ] 11월 21일 #11

wants to merge 14 commits into from

Conversation

sari-harin
Copy link
Collaborator

인적사항

학번: 2071079
이름: 이하린

과제제출

기존 제출: 3190, 1967, 5639, 15681, 24545
추가 제출:

Copy link

@sawoll sawoll left a comment

Choose a reason for hiding this comment

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

[12주차 트리 코드리뷰 완료]
15681(P3), 5639(P3), 1967(P3), 24545(P3)
안녕하세요 하린님! 트리 필수 2문제, 도전 2문제 리뷰 완료했습니다. 도전문제까지 모두 푸시느라 정말 수고 많으셨습니다.😍

Comment on lines +11 to +22
void dfs(int num, int upperN) {
visited[num]=true;
for(int i=0;i<v[num].size();i++){
int next=v[num][i];
if(visited[next]==false){
dfs(next,num);
}
}
if(upperN!=-1){
num_arr[upperN]+=num_arr[num];
}
}
Copy link

Choose a reason for hiding this comment

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

문제 조건에 맞게 dfs로 구현해 주셨네요. 함수 로직을 잘 짜주셔서 특별히 코멘트 드릴 점은 없습니다. Indentation만 살짝 정리하면 보기 좋을 것 같습니다.😊

Comment on lines +31 to +52
ios::sync_with_stdio(false);
cin.tie(NULL);cout.tie(NULL);

int n, o, p, q, answer=0;

cin >> n;

for(int i=1;i<n;i++){
cin >> o >> p >> q;

board[o].push_back(make_pair(p,q));
board[p].push_back(make_pair(o,q));
}

dfs(1,0,answer);

memset(visited,false,sizeof(visited));

dfs(endI,0,answer);

cout << answer;

Copy link

Choose a reason for hiding this comment

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

로직을 깔끔하게 잘 짜 주셨습니다. 주석만 몇 개 추가하면 더 좋은 코드가 될 것 같아요.👍👍

Comment on lines +11 to +27
void dfs(int x, int len, int &answer){

if(visited[x]==true){
return;
}

visited[x]=true;

if(len>answer){
answer=len;
endI=x;
}

for(int i=0;i<board[x].size();i++){
dfs(board[x][i].first,len+board[x][i].second,answer);
}
}
Copy link

Choose a reason for hiding this comment

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

완벽합니다👍

Comment on lines +8 to +28
void searchTree(int start, int end){
int i;

if(start>=end){
return;
}
if(start==end-1){
cout << tree[start] << '\n';
return;
}

for(i=start+1;i<end;i++){
if(tree[start]<tree[i]){
break;
}
}

searchTree(start+1,i);
searchTree(i,end);
cout << tree[start] << '\n';
}
Copy link

Choose a reason for hiding this comment

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

하린님만의 방법으로 잘 구현해 주셨습니다. 해설강의에서 언급한 dfs를 이용한 방법도 한 번 고려해 보시면 좋을 것 같습니다. 수고하셨어요.😍

Copy link

@mingulmangul mingulmangul left a comment

Choose a reason for hiding this comment

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

[트리 구현 코드 리뷰 완료]
3190(P3)
안녕하세요 하린님
구현할 것이 많은 문제였는데 정말 깔끔하게 잘 풀어주신 것 같습니다 👍
간단한 코멘트만 남겼으니 한 번 읽어봐주세요.
과제하느라 고생많으셨어요 🥰

char d;

int board[101][101];
bool visited[101][101];

Choose a reason for hiding this comment

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

P3. visited 배열을 이용해서 뱀의 위치를 나타내셨네요! 이것도 좋은 풀이지만 위에 boardint 배열로 정의했으니 한 가지 숫자를 더 사용해서 뱀이 있는 칸을 나타내면 어떨까요? 이렇게 하면 메모리 공간을 조금이나마 절약할 수 있어 보입니다!

Comment on lines +44 to +54
if(board[ny][nx]==1){
board[ny][nx]=0;
snake.push(make_pair(nx, ny));
visited[ny][nx]=true;
}
else{
snake.push(make_pair(nx,ny));
visited[ny][nx]=true;
visited[snake.front().second][snake.front().first]=false;
snake.pop();
}

Choose a reason for hiding this comment

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

P3. if와 else 안의 내용에 겹치는 부분이 있다면 중복 제거를 위해 if문 밖에서 한 번만 수행하는 것이 좋습니다 :)

Comment on lines +29 to +35
for(int i=0;i<l;i++){

int num;

cin >> num >> d;

while(cnt<num||i==l-1){

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.

3 participants