질문
281
121 asked
수업들어보니 자바스크립트의 let 이 자바의 int 같은데, 만약 int min = i ; 선언하고 아래 if ( arr[j] < arr[min]) {
min = j ;
}
라고 하셨는데, 그러면 변수 min 에는 j 값이 저장 되기는 하지만 int 는 지역 변수라 if 문 안에서 저장된 int min 의 값이 if 문 밖으로 나가서는 for 문을 실행하여 다시 j 가 하나 더해져서 반복 실행 되었을때 min 의 값은 다시 i 로 초기화 되는건가요? 아니면 j 로 바뀐건가요 ?
-제가 아는 지역 변수에 대한 설명입니다
지역 변수는 선언된 함수나 메소드 내에서만 접근이 가능하고, 해당 함수나 메소드의 실행이 끝나면 그 범위를 벗어나서 접근할 수 없습니다.
Answer 2
0
항상 친절하게 설명해주셔서 감사합니다.
그럼 즉, 두번째 for 문에서 if 에서 minvalueindex = j 인데, 그게 if 조건문 안에 있는 arr [ minValueIndex] 에 영향을 미친다는 말씀 이신가요?
즉 제가 아는 지역변수의 개념은 if 문 {} 안에서만 값이 유효하고 그 밖에서는 유효하지 못한걸로 아는데, 보시면 if 문 안에 minValueIndex 값이 = J 로 되었지만 다시 for 문 반복 실행시 if 를 2번째 실행할때 if 조건문 안의 arr[minValueIndex] 가 왜 기존 int minValueIndex = i ; 가 되는게 아니라 j 로 그대로 있는건지 이해가 안갑니다.
이게 왜 영향을 미치는지 잘 이해가 안갑니다.
혹여나 안에 있는 inner loop 들이 가장 밖에 있는 for loop 과 연관이 있기 때문에 그 for 문까지는 영향을 끼치는 건가요?
0
지역변수의 개념은 선언과 소멸로 바라보시면 될 것 같습니다.
let minValueIndex가 첫 번째 for문 안에 선언되어 있기 때문에 해당 for문을 다시 반복하기 전까지는 계속 살아있습니다.
즉 inner for문이 동작하는 동안에는 지역변수는 계속 살아있습니다.
따라서 j로 값을 덮어쓰면 계속 유지됩니다.
다른 언어에서 같은 코드를 작성하더라도 똑같습니다.
중첩 for문으로 테스트 해보시길 바랍니다
0
min은 SelectionSort함수 내 첫 번째 for문 안에 선언되어 있으므로 첫 번째 for문안에서 유효합니다.
따라서 두 번째 for문에서 값을 수정했더라도 첫 번째 for문 안의 값은 그대로 유지됩니다.
다만 첫 번째 포문의 다음 인덱스때는 i값으로 초기화해주기 때문에 i값으로 변하겠죠?
1
항상 친절하게 설명해주셔서 감사합니다.
그럼 즉, 두번째 for 문에서 if 에서 minvalueindex = j 인데, 그게 if 조건문 안에 있는 arr [ minValueIndex] 에 영향을 미친다는 말씀 이신가요?
즉 제가 아는 지역변수의 개념은 if 문 {} 안에서만 값이 유효하고 그 밖에서는 유효하지 못한걸로 아는데, 보시면 if 문 안에 minValueIndex 값이 = J 로 되었지만 다시 for 문 반복 실행시 if 를 2번째 실행할때 if 조건문 안의 arr[minValueIndex] 가 왜 기존 int minValueIndex = i ; 가 되는게 아니라 j 로 그대로 있는건지 이해가 안갑니다.
이게 왜 영향을 미치는지 잘 이해가 안갑니다.
혹여나 안에 있는 inner loop 들이 가장 밖에 있는 for loop 과 연관이 있기 때문에 그 for 문까지는 영향을 끼치는 건가요?
큐의 마지막 데이터가 head에 위치해야 하는 이유가 궁금합니다.
0
71
2
이중연결 리스트 데이터 삭제시 질문이 있습니다.
1
61
2
자바스크립트 배열은 동적이 아닌가요?
1
85
2
자바스크립트 배열
0
75
2
코테에서 링크리스트 자료구조를 사용해야 하면, 이번 강의에서 구현한 메서드들도 모두 직접 구현하면 되나요?/
0
150
2
공부 방식 질문 드립니다.
1
115
2
메모이제이션과 타뷸레이션 관련해서 질문드립니다.
1
166
2
병합정렬에서 질문이 있습니다.
2
141
1
병합정렬 질문 있습니다.
1
136
5
데이터 삽입, 삭제 함수 오류 범위 설정
0
156
2
해시 테이블에서 질문이 잇습니다.
2
127
2
시간복잡도 계산 시 1회 연산당 연산량은 왜 고려하지 않는 건가요?
1
147
2
터미널 설정
0
113
2
2:13분 관련 질문입니다
0
89
1
8:47초경부터 9:00초까지 질문입니다.
1
133
2
tail을 삭제하는 경우에 관련해서 질문이 있습니다.
0
106
1
2:36초 head 위치가?
1
109
2
환경구축강의 중 터미널 파일 실행오류
0
160
2
4:58 이중for문 질문있습니다.
0
103
1
hanoi함수 처음 호출에 대해서 여쭤봅니다.
1
129
2
해쉬테이블 데이터 관련해서 질문있습니다.
0
147
2
자바스크립트 Map과 어떤 차이가 있나요??
0
202
2
질문이있습니다.
0
102
1
2번째 복습 스터디📖 를 진행하고 스터디원분들과 나눈 질문들 입니다.(자료구조와 알고리즘)
1
146
2

