\(@^0^@)/
[TDL] 06/18 Today's-Done-List 본문
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;
}
- 웨비나 세션
- 얼어붙은 경제 때문에 취업시장이 좁아지고 있다ㅠ
- 프로그래머는 프로그래밍이 가장 중요하다!
- 프로젝트를 만들어 보는 것이 중요하다!
- 웹 개발자라면 백엔드, 프런트엔드를 둘 다 할 줄 알아야 한다.
앞으로 점점 취업이 어려울 거라는 얘기가 여기저기서 들려온다ㅠ 나는 아직 준비가 안됐는데... 큰일이다.
-부스트 캠프 지원 자소서
하.. 로그인 토큰 기간이 만료돼서 내가 적은 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 |