\(@^0^@)/

[TDL] 06/18 Today's-Done-List 본문

TDL

[TDL] 06/18 Today's-Done-List

minjuuu 2022. 6. 20. 13:52
728x90

- 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 capitalStr = element.charAt(0).toUpperCase() + element.slice(1);
        newArr.push(capitalStr);
      }
    }
  }
  helper(arr);
  return newArr;
}

/* helper함수를 recursive하게 사용한 솔루션 */
function capitalizeFirst(arr) {
  let newArr = [];

  function helper(arr) {
    if (arr.length === 0) return;
    let str = arr[0];
    newArr.push(str[0].toUpperCase() + str.slice(1));
    return helper(arr.slice(1));
  }
  helper(arr);
  return newArr;
}

초반에는 이중 for loop에 익숙해있어서 중첩 반복문을 독해하는 것이 훨씬 빨리 걸리고, 쉬워 보였는데
아직도 재귀 함수의 로직을 잘 짜진 못하고 이해하는 과정도 오래 걸리지만, 어느 정도 독해력이 상승하고 있는 것 같다!


그렇다면, 문자열 전체를 대문자로 바꾸는 코드는 어떤지 알아보자!

/* Input & Output */
capitalizeFirst(["car", "taco", "banana"]);  // ['CAR','TACO','BANANA']
function capitalizeFirst(arr) {
  if (arr.length === 1) {
    return [arr[0].toUpperCase()];
  }
  let res = capitalizeFirst(arr.slice(0, -1));
  res.push(arr.slice(arr.length - 1)[0].toUpperCase());
  return res;
}

https://re4.in/problems/2018/12/28/recursive-function-to-capitalize-first-char-of-array-of-strings.html

 

Recursive function to capitalize first char of array of strings

Write a recursive function called capitalizeFirst. Given an array of strings, capitalize the first letter of each string in the array.

re4.in

https://javascript.plainenglish.io/capitalize-the-first-letter-of-each-string-in-an-array-using-recursion-5d6b6ead8c7

 

Capitalize the First Letter of Each String in an Array: Using Recursion

A walkthrough on how to solve this interesting algorithm question using the powerful, but confusing, recursion method in JavaScript

javascript.plainenglish.io


- 웨비나 세션

  • 얼어붙은 경제 때문에 취업시장이 좁아지고 있다ㅠ
  • 프로그래머는 프로그래밍이 가장 중요하다!
  • 프로젝트를 만들어 보는 것이 중요하다!
  • 웹 개발자라면 백엔드, 프런트엔드를 둘 다 할 줄 알아야 한다.

앞으로 점점 취업이 어려울 거라는 얘기가 여기저기서 들려온다ㅠ 나는 아직 준비가 안됐는데... 큰일이다.


-부스트 캠프 지원 자소서

하.. 로그인 토큰 기간이 만료돼서 내가 적은 600자 정도의 텍스트가 슝 날아가버렸다~~
역시 사이트에서 바로 적지 말고, 메모장이나 워드에 적고 복붙 해야 된다는 것을 오늘 또 배우네~~~
또한 계속 계속 백업하기!ㅠㅠ


- 주말 회고

 


 

728x90

'TDL' 카테고리의 다른 글

[TDL] 06/21 Today's-Done-List  (0) 2022.06.21
[TDL] 06/20 Today's-Done-List  (0) 2022.06.21
[TDL] 06/17 Today's-Done-List  (0) 2022.06.17
[TDL] 06/16 Today's-Done-List  (0) 2022.06.17
[TDL] 06/15 Today's-Done-List  (0) 2022.06.16