55,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)
실행 문제
안녕하세요 똑같이 했는데 파워쉘이 실행을 못합니다. 무엇이 문제인지 모르겠습니다저는 화면처럼 하게 되면 결과가 출력이되지 않고 아무것도 나오지 않습니다 왜그럴까요?
- 해결됨그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)
자바 ArrayList와 LinkedList의 장단점
저번 강의에서 배열과 연결리스트의 장단첨 차이에는배열은 참조 속도가 상대적으로 빠르지만 데이터 삽입/삭제가 상대적으로 느리고연결리스트는 그 반대로라고 배웠는데요 자바의 ArrayList와 LinkedList랑 비교해도 똑같은 장단점을 가지나요?일반 배열과 달리 ArrayList는 처음에 크기를 할당하지 않아도 되니 오버헤드가 좀 감소할 것 같은데, 그래도 데이터 삽입 삭제 시 나머지 데이터의 이동이 필요하기 때문에 여전히 LinkedList 보단 속도가 느릴까요?
- 해결됨그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)
deleteAt() 질문
// 변경 전 for (let i=0; i < index - 1; i++) { currentNode = currentNode.next; } let deleteNode = currentNode.next; currentNode.next = currentNode.next.next; // 변경 후 for (let i=0; i < index; i++) { currentNode = currentNode.next; } let deleteNode = currentNode; currentNode = currentNode.next;deleteAt()의 나머지 노드에서 삭제 구현 코드에서 '변경 후'와 같은 코드는 제대로 삭제되지 않는 이유가 무엇인가요? 똑같이 동작할거라 생각하고 임의로 변형해봤는데 값에 변화가 없네요.변경 전의 currentNode.next.next 와 변경 후의 currentNode.next 둘 다 값이 없어 참조하지 않는 건 똑같은데..currentNode.next를 참조할 값이 없게 하는거랑currentNode를 참조할 값이 없게 하는거랑 다르게 처리되는건가요?아니면 아예 다른 포인트에서 틀린건지.. 궁금합니다
- 미해결그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)
스택 질문
여기 두번째 출력이 왜 4, 3, 인가요?? 1, 2가 나와야 하는거 아닌가요...?ㅠㅠㅠ 제가 이해를 잘못했나요ㅜㅜ
- 미해결그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)
바이너리 검색
질문이 있습니다. A={ 3 , 4 ,6, 1, 10, 9 } 가 있으면 binary search 를 실행할 수 있나요? 아니면 없나요?저는 unsorted 이므로 검색이 안된다 했는데, 학교에서는 할 수 있는데 틀린 답을 가질거라고 하더라구요. 이거에 대해서 개념이나 정의를 이용해서 반박할 수 있을까요?
- 미해결그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)
배열 출력
만약 int []A = { 1, 3, 9, 4 } 가 있을때,A={ 1, 3, 9 ,4 } 를 출력하고 싶으면 어떻게 해야 출력할 수 있나요? 혹은 for 중첩문의 반복 조건을 통해 선택정렬을 해서( 1, 9) 와 ( 3, 4 ) 에 해당하는 것만 출력하고 싶을때는 어떻게 해야 출력할 수 있나요? 그리고 그건 어디에서 배울 수 있나요?
- 미해결그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)
질문
수업들어보니 자바스크립트의 let 이 자바의 int 같은데, 만약 int min = i ; 선언하고 아래 if ( arr[j] < arr[min]) {min = j ;}라고 하셨는데, 그러면 변수 min 에는 j 값이 저장 되기는 하지만 int 는 지역 변수라 if 문 안에서 저장된 int min 의 값이 if 문 밖으로 나가서는 for 문을 실행하여 다시 j 가 하나 더해져서 반복 실행 되었을때 min 의 값은 다시 i 로 초기화 되는건가요? 아니면 j 로 바뀐건가요 ? -제가 아는 지역 변수에 대한 설명입니다 지역 변수는 선언된 함수나 메소드 내에서만 접근이 가능하고, 해당 함수나 메소드의 실행이 끝나면 그 범위를 벗어나서 접근할 수 없습니다.
- 미해결그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)
질문
안녕하세요. 덕분에 삽입정렬 마스터했습니다. 또한 다른 쪽 우선 공부해보고 싶은 곳이 있는데, 만약 A=(1, 11, -2, 12, 8, 9)이고 x=10이라면, 알고리즘은 (1, 9) 또는 (-2, 12) 같은 쌍을 찾아내야 할때를 공부하고 싶은데, 어떤 부분을 공부하면 될까요? 기본인지 심화에 있는지도 말씀해주시면 감사드리겠습니다.
- 미해결그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)
질문
혹시 이 강의에서 binary search 에 대해서도 가르쳐주시나요 ?
- 미해결그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)
자바
안녕하세요. 저는 지금 자바로 공부하고 있는 학생인데, 이 강의는 자바스크립트를 기준으로 공부가 진행되더라구요. 자바를 공부하는 사람이 이 강의를 봐도 괜찮나요?아니면 실현하는 코드가 완전히 다른가요?
- 미해결그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)
터미널로 실행시키니깐 오류가 뜨네요
해결방법이 궁금합니다!
- 미해결그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)
memo에서 null 체크부분
memo[n] == null 이부분 그냥 !memo[n]로 하셔도 될거같아요. 왠만하면 === 쓰는게 좋아요
- 해결됨그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)
유효성 검사에 대해 질문이 있습니다.
좋은 강의 만들어주셔서 감사합니다.몇몇 메서드가 실행될 때 인덱스의 유효성 검사를 진행하는데, 이 부분의 로직이 완전히 같은 상황이니 유효성 검사 메서드를 따로 생성해서 리팩토링 하는 것도 좋은 방법일까요?
- 해결됨그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)
병합정렬 tempArrIndex = leftIndex 질문 있습니다
안녕하세요,강의을 따라 코딩을 해보던 중 임시배열 tempArr을 작성하다가tempArrIndex = leftIndex 에서 leftIndex 대신 0을 넣었는데 그러면 코딩 실행이 정상적으로 되지 않아서 (강의 13:38 부분)무엇이 잘못됐는지 궁금해 질문 드립니다. 감사합니다 :)
- 미해결그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)
병합정렬 질문 있습니다
강의 6:34까지 재귀함수로 배열의 반반을 원소 1개씩으로 분할하는 것 까지는 이해가 가는데, 왜 병합되어 정렬이 완료되는지는 이해가 안갑니다. ㅠㅠ function MergeSort(arr, leftIndex, rightIndex){ if(leftIndex < rightIndex){ let midIndex = parseInt((leftIndex + rightIndex) / 2); MergeSort(arr, leftIndex, midIndex); MergeSort(arr, midIndex + 1, rightIndex); } }까지는 분할만 이루어진 것 아닌가요?아니면 분할+병합이 이루어져있다고 가정하는 건가요? 감사합니다.
- 해결됨그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)
strLength에서
arr[0] == null위 상황에서 arr[0]인 ''[0]은 undefined라서 니깐 !!arr[0]나 Boolean(arr[0]) 아니면 그냥 !!arr, Boolean(arr)로 체크해주는게 좋을것 같네여
- 해결됨그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)
큐 구현 질문 드립니다
안녕하세요,doublylinkedlist 에서 insertAt 수정 중에if(newNode.next == null){ //새로 삽입한 노드가 마지막 노드라면 this.tail = newNode; }이 부분은 index == this.count 일 때 데이터를 삽입하는 경우에만 해당되는 것 같은데,else if문 밖으로 빼서 공통적으로 처리해주는 이유가 궁금합니다. 감사합니다!
- 미해결그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)
insertAt() for문 질문있습니다.
안녕하세요. 질문 두 가지가 있습니다. 프로그래밍 입문자이며 언어를 배운 적이 없는 상태입니다. 연결리스트 - 구현 강의 중 insertAt()의 for문 입력 후 왜 currentNode = currentNode.next를 입력해주는 건가요? currentNode 가 currentNode.next를 가리켜 둘은 연결되어 있다는 것을 가리키기 위함인가요? 이 코드 한 줄을 입력 안 할 경우 어떤 문제가 생기나요?그리고 10분 26초 쯤에currentNode(7)가 새로운 노드를 가리키면 된다고 설명하는데 왜 코드는 currentNode = newNode 가 아니라currentNode.next = newNode 인 건가요?후자가 될 경우 currentNode.next인 (9)가 newNode를 가리키게 되는 거 아닌가요? 감사합니다.
- 해결됨그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)
연결리스트 구현 return
다른 분께서 하신 질문을 보니 delete함수와 getNodeAt 함수에서 return을 하는 이유는 제거된 노드 값을 확인하거나 그 노드값을 얻기 위함이라고 하셨는데,delete함수에서 제거된 값은 왜, 그리고 어떻게 확인하는 것인지 이해가 가지 않아서 질문드립니다.저는 test.mjs 파일에서 console.log(this.deleteNode)를 입력하면 해당 변수의 값(제거된 값)이 출력될 것이라고 생각했으나TypeError: Cannot read properties of undefined (reading 'deleteNode')이러한 에러가 발생했습니다. deleteLast함수를 만들 때 return this.deleteAt(this.count-1); deleteAt함수에 이미 return이 포함되어 있는데 이 함수에 또 return을 포함하는 이유가 궁금합니다 감사합니다!
- 해결됨그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)
섹션1 배열 강의 질문드립니다
배열은 참조에는 좋지만 삽입과 삭제는 비효율적이라고 하셨는데자바스크립트 배열은 처음에 크기를 지정하지도 않고, 메모리 할당도 불연속적으로 하니까 예외라는 건가요? 감사합니다.