목록분류 전체보기 (298)
\(@^0^@)/
- udemy 알고리즘 강의 (재귀 문제) https://dev-minju.tistory.com/246 - 모두를 위한 컴퓨터 과학(CS50) 챕터 1 부스트 캠프를 지원할 때 봐 두면 좋을 CS강의라고 하여 봤는데, 하버드 교수가 강의하는 CS강의 영상인데 CS에 대해 아무것도 모르는 사람, 심지어 초등학생들도 끝까지 집중해서 이해할 수 있을 것 같이 재미있게 수업한다. 이런 사람에게 수업 듣는 하버드 학생들 너모 부럽다.. 비전공자 문과인 나도 알 수 있는 기본지식이고, 강의도 들어서 쉬웠지만 그래도 다 맞으니 기분 좋다! 희희 - 제로베이스 JS스터디 미션 4 CS강의를 한 챕터만 들었는데도 생각보다 조금 오래 걸려서, 미션 4는 파일 구성하고, html 마크업만 살짝 하였음. 저녁 먹고 마크업 끝..
stringifyNumbers : 모든 values들의 numbers를 strings으로 변환하는 문제. 내 출력 값이 제공받은 것과 같게 나왔지만 오답이었다.... /* 내가 작성한 코드 */ function stringifyNumbers(obj) { for (let key in obj) { if (typeof obj[key] === "object") { stringifyNumbers(obj[key]); } else if (typeof obj[key] === "number") { JSON.stringify(obj[key]); } } return obj; } 콘솔상으로는 nested object 안의 모든 숫자들을 string으로 변환한 것 같은데, 채점을 돌려보면 그렇지 않은 모양이다ㅠ 분명 1에서 '..
- 제로베이스 JS스터디 미션 3 다 작동은 하는데 또 재사용성.... 나는 왜 계속 재사용을 할 수 없는 코드를 구현하는 걸까ㅠㅠㅠㅠ 어떻게 해야 재사용이 가능한 코드를 쓸 수 있는지 아직도 잘 모르겠다.. 모듈화를 한다고 하였는데, 이게 틀린 코드인가 보다ㅠ 정답을 알려줘!!!! - js문법 스터디 과제 this와 this.binding에 대해 알아보고 정리하였음. 17:50 오후 회고 스터디 (만족도 : 5) 집중은 괜찮았는데, 삽질 많이 하고 헤매서 너무너무 힘들다. 만족도 5점 하겠음. - js문법 스터디 제로베이스 미션 3 과제에서 잘 안 풀렸던 부분이 있었는데, 팀원분께 여쭤보고 해결했다! document.querySelectorAll을 사용하는 부분에서 document가 아닌, 특정 ele..
- udemy 알고리즘 강의 (재귀 1문제) /* 주어진 INPUT */ let obj1 = { outer: 2, obj: { inner: 2, otherObj: { superInner: 4, notANumber: false, alsoNotANumber: "hello", }, }, }; let obj2 = { a: 6, b: { b: 2, bb: { b: 3, bb: { b: 4 } } }, c: { c: { c: 4 }, cc: "dog", ccc: 5 }, d: 1, e: { e: { e: 2 }, ee: "cat" }, }; function nestedEvenSum(obj, sum = 0) { for (let key in obj) { if (typeof obj[key] === "object") { ..
- udemy 알고리즘 강의 (재귀 1문제) 배열의 첫 문자열만 대문자로 변환하는 문제였는데, 솔루션은 배열의 모든 문자열을 대문자로 만드는 것으로 줬다... 오잉? 그렇다면 구글링을 해보자! /* Input & Output */ capitalizeFirst(["car", "taco", "banana"]) // ['Car','Taco','Banana'] /* 이중 for loop를 사용한 솔루션 */ function capitalizeFirst(arr) { let newArr = []; function helper(arr) { for (let i = 0; i < arr.length; i++) { let element = arr[i]; for (let j = 0; j < 1; j++) { let capit..
- udemy 알고리즘 강의 (재귀 2문제) flatten an array with recursion /* Input 과 Output */ flatten([1, 2, 3, [4, 5]]); // [1, 2, 3, 4, 5] flatten([1, [2, [3, 4], [[5]]]]); // [1, 2, 3, 4, 5] flatten([[1], [2], [3]]); // [1,2,3] flatten([[[[1], [[[2]]], [[[[[[[3]]]]]]]]]]); // [1,2,3] 문제를 보고, flatten nested array에 재귀를 사용한 경우와 해설을 조금 더 찾아보았다. 여러 접근법이 있는 것 같지만, 두 가지의 솔루션을 기억하고 기록해보자. /* helper함수를 활용한 솔루션 */ fun..
- udemy 알고리즘 강의 (재귀 2문제) 재귀로 단어 reverse. 예시로 입력값이 "awesome"일 경우, "emosewa"가 나오고 입력값이 "helloworld"일 경우, "dlrowolleh"가 나옴. 재귀로 안 풀면 쉬운데, 막상 재귀로 풀으려니 감이 안 잡히더라ㅠ 재귀를 배우는 상황이기에 최대한 재귀적으로 생각해보려 하는데, 아직은 무리다ㅠ 그런데 어떤 코드가 더 시간 복잡도, 공간 복잡도 적으로 좋은 코드인지는 아직 잘 모르겠다. 계산하는 법을 잘 모르겠다... 우선은 알린이 이기에 정답이면 좋은 상황..!! 우선은 모든 자료구조를 한번 훑고 시간 복잡도에 대해 생각해보기로ㅠ /* 내가 풀은 코드 */ function reverse(str) { return str.split("").r..
- udemy 알고리즘 강의 (재귀 문제 2개) 하루에 1-2문제 풀기 챌린지 중! 오늘 피보나치 재귀를 풀었는데, 유데미 강의에서는 이번 퀴즈는 그냥 솔루션만 알려주었기에 완벽히 이해하고 싶어서 구글링을 하는데, 다들 내가 받은 솔루션 코드가 시간 복잡도가 최악이라는 말을 하고 있다.... 왜 이런 걸 알려준 거야?ㅠ 피보나치 수열이란? 각 숫자가 직전의 두 숫자의 합인 수열이다. fib(10)를 구하기 위해 0부터 10번째까지의 수들을 나열해본다면, [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55]이며 fib(10)는 fib(10)는 21+34로 55이다. fib(4)를 구하기 위해 0부터 4번째까지의 수들을 나열해본다면, [0, 1, 1, 2, 3] 1+2로 3이다. 문제는 피보나..
- udemy 알고리즘 강의 (섹션 7 재귀, 연습문제 2개) 재귀에서 stack overflow를 발생시키지 않도록 주의할 부분 no base case forgetting to return or returning the wrong thing 항상 for loop으로만 풀다가, 재귀로 접근하려니까 생각보다 고려해야 하는 부분들이 많고 머릿속이 복잡해진다ㅠ 그냥 직진하면 답이 나오는 것을 굳이 어려운 길로 돌아가는 느낌이지만, 재귀로 푸는 것이 효율적이겠지ㅠ 그래도 오늘은 쉬운 문제들 위주로 풀어서 재미있고 재귀와 조금 더 친해지는 시간이었음! - js문법 스터디, class 문법 정리 https://poiemaweb.com/js-prototype Prototype | PoiemaWeb 자바스크립트의 모든..
- 프로그래머스 JS스터디 과제 async & await를 사용할 때 이해해야 할 점. await를 붙이면 함수의 리턴 타입이 promise가 된다. 리턴 타입이 promise 형태인 함수는 async & await 키워드로 promise의 resolve를 await형태의 코드로 짤 수 있음. api를 사용할 때도 컴포넌트를 따로 분리, 활용하자 end-point 상수화 response 못 받을 경우의 예외처리 request 받는 부분과 keyword 넣는 부분 분리 debounce를 사용할 때도 컴포넌트로 분리, 활용하자 deboucing time을 밖에서 설정할 수 있게 로직을 짜야함. - 유데미 알고리즘 Sliding Window 문제풀이 sliding window 알고리즘 중 하나 풀었는데, 다시..