inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

2-D

질문하는 법 참고해서 재질문 드립니다.

296

권주리

작성한 질문수 1

0

http://boj.kr/8431081804b04c39b4db7bd8d7d686b4
 
int a[104][104], m, n, k, x1, x2, y1, y2, sum;
vector<int> v;
int dfs(int y, int x) {
    visited[y][x] = 1;
  sum = 1;
 
이렇듯 sum을 dfs 함수 내에서 정의하지 않았더니 결과가
3
1 2 4096 으로 나왔습니다.
이유가 뭘까요..??ㅜ

C++ 코테 준비 같이 해요!

답변 2

0

큰돌

전역변수로 선언해서 그렇습니다. 

함수 내에서 sum자체가 변경되어 return이 되기 때문에 해당 부모함수의 sum에도 영향을 미쳐서 사이드이펙트가 일어나는데요. 

해당부분을 그림으로 그려보자면 다음과 같습니다. 

원래는 1 + 7이 되어야 하는데 전역변수로 선언해버려서 7 + 7 이런 꼴이 나타나게 되는 셈이죠. 

감사합니다.

0

권주리

친절한 설명 감사합니당

0

큰돌

안녕하세요 주리님 ㅎㅎ 

전체코드를 제가 올린 0주차 - "질문 올리는 법" 강의를 참고해서

링크로 부탁드려도 될까요? 

 

감사합니다.

0

권주리

링크 올렸습니다.

 

1-E질문입니다!

0

515

2

3-L 틀린 부분 피드백 부탁드립니다.

0

816

2

1-A문제 순열재귀함수 질문입니다.

0

380

1

1-A 일곱난쟁이문제입니다

0

454

1

문제 풀 때 방향성에 대해

0

798

1

맥에서 vs code로 실행 관련 질문입니다

0

520

1

17071번 메모리 초과

0

385

1

1-C질문입니다!

0

418

2

2-B BFS 시간초과질문

0

629

2

1-O 13번 라인

0

439

1

6-J 놀이공원 문제 질문

0

380

1

구현관련 질문

0

482

1

강의 교안

0

317

1

실력을 더 올리고나서 강의를 보는 것이 맞을까요?

0

545

1

안녕하세요! 재귀함수에 관해서 질문드립니다

0

535

1

1-K

0

472

2

3-G번 질문있습니다.

1

472

3

3-C 실행 시간 질문드립니다.

0

492

1

4-A 문제 풀이 질문있습니다.

0

590

2

비트마스킹 연산자 "1의 보수" 영문 표기법

0

433

1

격자탐색 문제에서 BFS 시간복잡도 질문드립니다.

0

333

1

3-O go 함수 질문 드립니다.

1

444

2

4-A 출력 질문

0

302

1

1주차 1-O 질문드립니다

0

254

1