173만명의 커뮤니티!! 함께 토론해봐요.
미해결
비전공자의 전공자 따라잡기 - 자료구조(with JavaScript)
class MinHeap { // 최소힙 arr = []; #reheapUp(index) { if (index > 0) { const parentIndex = Math.floor((index - 1) / 2); if (this.arr[index] < this.arr[parentIndex]) { const tmp = this.arr[index]; this.arr[index] = this.arr[parentIndex]; this.arr[parentIndex] = tmp; this.#reheapUp(parentIndex); } } } insert(value) { const index = this.arr.length; this.arr[index] = value; // 마지막에 값을 넣어준다. this.#reheapUp(index); } #reHeapDown(index) { const leftIndex = index * 2 + 1; // 왼쪽 Index if (leftIndex < this.arr.length) { // 만약에 왼쪽 인덱스가 총 배열의 길이보다 작은경우 const rightIndex = index * 2 + 2; const smaller = this.arr[leftIndex] > this.arr[rightIndex] ? leftIndex : rightIndex; if (this.arr[index] < this.arr[smaller]) { const temp = this.arr[index]; this.arr[index] = this.arr[smaller]; this.arr[smaller] = temp; this.#reHeapDown(smaller); } } } remove() { // root만 remove if (this.arr.length === 0) { return false; } if (this.arr.length === 1) { // 마지막 하나 남으면 pop해서 리턴해주기 return this.arr.pop(); } const root = this.arr[0]; this.arr[0] = this.arr.pop(); this.#reHeapDown(0); return root; } sort() { // 힙 정렬 const sortedArray = []; while (this.arr.length > 0) { sortedArray.push(this.remove()); } return sortedArray; } search(value) { for (let i = 0; i < this.arr.length; i++) { if (arr[i] === value) { return i; } } } } const minheap = new MinHeap(); minheap.insert(78); minheap.insert(56); minheap.insert(45); minheap.insert(32); minheap.insert(23); minheap.insert(19); minheap.insert(8); console.log(minheap.arr); minheap.remove(); minheap.remove(); minheap.remove(); minheap.remove(); minheap.remove(); minheap.remove(); 최대힙 코드를 최소힙 구하기 코드로 바꿔봤습니다. 질문1) 최소힙 구하기 remove 코드가 맞을까요? 질문2) 최대힙이든 최소힙이든 sort 메서드가 sort 메서드 호출시 remove 메서드를 while문 루프로 호출하여서 sort 메서드 실행 후에 this.arr가 당연하게 빈배열이 되는데 while문 전에 this.arr를 변수에 담아두었다가 while 루프가 끝난후에 다시 this.arr 멤버변수에 넣어주어야 하는거 아닌가 궁금합니다.
rhkdtjd_12
2024-06-21T05:43:09.701Z
댓글 1
좋아요 0
조회수 268
미해결
[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
안녕하세요! 마름모 별찍기 문제입니다 ! 우선 위에 마름모는 출력을 하였는데 밑으로 다시 내려오는 마름모가 안되어서 질문 드립니다. for(let j =0; j<6 ;j++){ if(j % 2 ===0) continue for(let i =0; i<3; i++){ for(i+ j+i ===5) console.log(' '.repeat(i)+ '*'.repeat(j)+' '.repeat(3-i)); } } 이 for문 에서 종료식을 바꿔야될것 같은데 지금은 종료식이 1씩 더해지는 것인데 혹시 종료식이 1씩 빼지는 것도 동시에 할수 있는 것 이 있을까요? 아니면 그림에 나온것 처럼 따로 k를 만들어서 해야되는 걸까요? 아니면 콘솔로 나온 결과는 반대로 해서 한번더 다시 나올수 있도록 해야되나? 라는 생각도 해보았습니다.
하리
2024-06-21T02:51:21.154Z
댓글 2
좋아요 0
조회수 377
미해결
[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
빨간줄 에러 그어져있는거를 읽고 ProductTag타입과 create-product.input.ts에서 선언한 @Field(() => [String]) productTags: string[]; 이부분이 문제라고 판단을 했습니다. 더 깊게 파고들어가보면 선생님이 제시하신 숙제에대해서 먼저 살펴봐야할것 같다는 생각이 들었습니다. 1. 아래 코드에서 ...product 의 타입은 Product로 선언되어있습니다. // 숙제-1)왜 아래 에러가 발생하는지 고민해보기 // 숙제-2)아래 에러 고쳐보기 const result = this.productsRepository.save({ ...product, ...updateProductInput, }); Product의 타입중 아래와같이 ProductTag[]를 필수로선언한게 있는데 이게 업데이트프로덕션인풋 타입과 충돌(?)이 일어나서 에러가 발생하는것 같았습니다. productTags: ProductTag[]; 왜냐하면 업데이트프로덕션인풋 타입은 아래처럼 모든 타입을 ?로 바꿔주고있기때문입니다. PartialType(CreateProductInput) create-product.input.ts에서 선언한 타입을 아래와 같이 바꿔주어 해결했습니다. ProductTag의 {} 객체안에들어가는 값까지 다 ?로 바꿨습니다. @Field(() => [String]) productTags: DeepPartial<ProductTag[]>; 여기까지가 제가 풀이해본건데요.. 솔직히 맞는지 모르겠어요 요약하자면 ,updateProductInput이랑 product 타입이 충돌일어나서 그런거다. 라고 이해하고있는데 맞을까요?
javascript node.js docker rest-api nestjs
반가우면반갑다고해
2024-06-20T18:20:13.286Z
댓글 1
좋아요 0
조회수 185
해결됨
웹 애니메이션을 위한 GSAP 가이드 Part.02
Deep Dive섹션 공부할 차례인데, 쌤이 설명해주시는 강의에서의 수업폴더와 제가 다운받은 폴더(파일)이 다릅니다. 제가 다운받은 자료입니다. 전체 다운받아 압축푼 상태인데, deep dive 폴더안에는 이게 전부입니다. 확인 부탁드립니다.
HTML/CSS javascript 인터랙티브-웹 gsap
tax
2024-06-20T15:56:28.175Z
댓글 1
좋아요 2
조회수 248
미해결
<M.B.I.T> 테스트 페이지 만들기! with Django
http://mbit.weniv.co.kr/ 사이트 접속이 안돼요
이유정
2024-06-20T08:41:45.729Z
댓글 1
좋아요 0
조회수 256
해결됨
[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
강의 커리큘럼에 있는 셀프 체크는 정답 예시를 찾았는데 강의 중간중간에 내주시는 if문 중첩 줄이기, 계산기 처음 입력시 음수 입력가능하게 하기 등의 숙제는 정답 예시는 따로 없는건가요? 그냥 유튜브나 인프런에 관련 질문 올리면 확인해주시는건가요?
psbin1016
2024-06-20T06:26:21.204Z
댓글 1
좋아요 0
조회수 245
미해결
따라하며 배우는 자바스크립트 A-Z
수업 자료 보면" let과 const는 블록 스코프이기에window 객체 내부의 블록에서 선언된 것으로 되기에전역 객체의 프로퍼티로 활용될 수 없습니다. " 라는 표현이 나오는데window 객체 안에 있는 더 작은 블록 단위 안에서 선언된 것이므로그 블록 안에서만 유효하고 window 객체에서 호출하지는 못한다는 뜻인가요?
탱_
2024-06-20T06:16:43.691Z
댓글 1
좋아요 0
조회수 158
해결됨
Vue 3 시작하기
선생님 강의 들으면서 따라하고 있습니다 강의랑 똑같이 타이핑하면서 공부하고 있는데 왜 타임라인에서 이벤트 호출이 안되는지 이유를 모르겠어서 질문 남깁니다! 확인 부탁드립니다...!
날라댕기는 포차코
2024-06-20T04:31:28.271Z
댓글 1
좋아요 2
조회수 442
해결됨
Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
Vue2는 created가 있지만, Vue3는 없기때문에 혼용해서쓴다면 (누가하던 작업을 이어받음) Api호출을 mounted 시점에하는게 나을까요? created시점에 호출하는것과 차이 많이날까요?
wjdgksak
2024-06-19T10:15:03.537Z
댓글 1
좋아요 1
조회수 215
미해결
비전공자를 위한 진짜 입문 올인원 개발 부트캠프
처음 세팅중인데 읽기전용이라 떠서 커뮤니티에 뜨는대로 따라했는데 올려두신 사진과 같은 내용이 뜨질않아서 어떻게 세틍을 해야하나 질문드려봅니다..
HTML/CSS javascript react node.js react-native 머신러닝 express tensorflow
thswnstn9981
2024-06-19T09:12:10.898Z
댓글 1
좋아요 0
조회수 444
해결됨
Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
현재 Vue3로 해당 강좌 진행중입니다...! 이벤트 버스가 들어가면서 bus.js를 작성하면서부터 학습 진행을 따라갈 수 없게 되었는데요ㅠㅠ!! 이 경우 해결 방안이 있을까요...? 버전 다운을 해야만 진행 가능한 부분인걸까요..? 코드상으로는 문제가 없으나 npm run serve시 해당 오류를 반환합니다..! bus 내 코드를 제거하고 확인하면 해당 오류가 노출되지 않아요 ㅠㅠ!!
AS S
2024-06-19T08:53:15.947Z
댓글 1
좋아요 1
조회수 357
미해결
웹 애니메이션의 새로운 표준, Web Animations API
안녕하세요 !강의를 열심히 따라가고있는 학생입니다:)key.svg 가 데이터 폴더에 있긴한데 강사님이 직접 자르신 키 사진(쇠 모양이없음) 과는 다르던데,저는 어도비 일러스트 유료버전이없어서 그런데 어떻게 해야할까요 ?
HTML/CSS javascript 인터랙티브-웹 frontend web-animations-api
Anna Jeon
2024-06-19T05:44:47.635Z
댓글 1
좋아요 1
조회수 233
미해결
자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
const solve = (str) => { let answer = '' let count = 1; for (let i = 0; i < str.length; i ++) { if (str[i] === str[i + 1]) { count ++; } else { answer += count !== 1 ? `${str[i]}${count}` : `${str[i]}` count = 1; } } return answer } 대략적인 내용은 비슷한거 같습니다.
hollis9797
2024-06-18T10:35:26.944Z
댓글 1
좋아요 0
조회수 148
해결됨
[JS] Phaser 게임 제작 - 뱀파이어 서바이벌 클론
npm WARN config global --global , --local are deprecated. Use --location=global instead. npm ERR! Missing script: "start" npm ERR! npm ERR! Did you mean one of these? npm ERR! npm star # Mark your favorite packages npm ERR! npm stars # View packages marked as favorites npm ERR! npm ERR! To see a list of scripts, run: npm ERR! npm run 위와 같은 코드가 나오는데요.. 패키지.json을 보면 "scripts": { "dev": "webpack-dev-server --config webpack/config.js --open", "build": "webpack --config webpack/config.prod.js" }, 이 내부에 start 도 없어서 생기는 오류같은데.. 다 질문글 보니까 github에서 git reset 커밋번호로 해결 하시는거 같았는데.. 환경상 git 사용이 제한되어서요.. 방법이 있을까요?
이거사면공부할까?
2024-06-18T06:09:19.905Z
댓글 2
좋아요 0
조회수 411
해결됨
실무에 바로 적용하는 프런트엔드 테스트 - 1부. 테스트 기초: 단위・통합 테스트
최소 최대 가격을 수정할 때 최소 금액이 0보다 작을 때 최대 금액이 최소 금액보다 작을 때 위 같은 조건을 처리할 때 관련 질문입니다 describe 사용 여부 // 1 describe('최소 최대 가격 확인 테스트', () => { it("최소 금액이 0보다 작을 때, 이렇게~ 처리", () => {}); it("최대 금액이 최소 금액보다 작을 때, 이렇게~ 처리", () => {}); it("최소 최대 가격을 수정하면 setMinPrice, setMaxPrice action이 호출된다", () => {}) }) // 2 it("최소 금액이 0보다 작을 때, 이렇게~ 처리", () => {}); it("최대 금액이 최소 금액보다 작을 때, 이렇게~ 처리", () => {}); it("최소 최대 가격을 수정하면 setMinPrice, setMaxPrice action이 호출된다", () => {}) 위 같은 조건 테스트를 작성 하는게 좋은지 아니면 아예 입력 처리를 해서 작성 안하는게 좋은지 확인 (0보다 작은수는 입력되지 않고, 최대 금액은 최소 금액보다 무조건 크게 작성하도록 처리 등)
javascript react 소프트웨어-테스트 vitest
allmy
2024-06-18T03:44:11.938Z
댓글 1
좋아요 0
조회수 199
해결됨
한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
12분40초에 New.js 파일을 DiaryEditor.js 파일로 옮기는 작업에서 오류가 납니다.
hyuk
2024-06-18T03:42:17.848Z
댓글 1
좋아요 0
조회수 390
미해결
비전공자의 전공자 따라잡기 - 자료구조(with JavaScript)
class Heap { arr = []; #reheapUp(index) { if (index > 0) { const parentIndex = Math.floor((index - 1) / 2); if (this.arr[index] > this.arr[parentIndex]) { // 값 바꾸기 const tmp = this.arr[index]; this.arr[index] = this.arr[parentIndex]; this.arr[parentIndex] = tmp; this.#reheapUp(parentIndex); } } } #reheapDown(index) { if (index > 0) { const parentIndex = Math.floor((index - 1) / 2); if (this.arr[index] < this.arr[parentIndex]) { const tmp = this.arr[index]; this.arr[index] = this.arr[parentIndex]; this.arr[parentIndex] = tmp; this.#reheapDown(parentIndex); } } } insert(value) { const index = this.arr.length; this.arr[index] = value; // 마지막에 값을 넣어준다. this.#reheapUp(index); } insertDown(value) { const index = this.arr.length; this.arr[index] = value; this.#reheapDown(index); } remove() { // root만 remove } search(value) { for (let i = 0; i < this.arr.length; i++) { if (arr[i] === value) { return i; } } } } const heap = new Heap(); heap.insert(8); heap.insert(19); heap.insert(23); heap.insert(32); heap.insert(45); heap.insert(56); heap.insert(78); const downHeap = new Heap(); downHeap.insertDown(78); downHeap.insertDown(56); downHeap.insertDown(45); downHeap.insertDown(32); downHeap.insertDown(23); downHeap.insertDown(19); downHeap.insertDown(8); console.log(downHeap.arr); reheapDown 이라는걸 만들어서 최소힙 만들기를 해보았는데 부모 index의 값과 비교하는 조건문의 부등호 방향만 바꾸니까 되는데 이게 맞나요...?
rhkdtjd_12
2024-06-18T01:09:52.343Z
댓글 1
좋아요 0
조회수 181
해결됨
Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
TSLint가 Deprecated 됐다고 나와서요 TSLint Vue 설치해도 되나요?
빵다
2024-06-18T00:20:50.288Z
댓글 3
좋아요 1
조회수 405
해결됨
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
안녕하세요 강의 들으려고 구매했습니다! 혹시 CURS에 대한 내용은 이 강의에서 다루지 않나요??
javascript typescript rest-api nestjs backend
joyjoy312
2024-06-17T12:02:48.689Z
댓글 2
좋아요 0
조회수 254
미해결
자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
return Number(str.replace(/[^0-9]/g,'')); 이렇게만 작성했습니다.
hollis9797
2024-06-17T06:36:03.061Z
댓글 1
좋아요 0
조회수 162