목록전체 글 (298)
\(@^0^@)/

- 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..