TIL 2023.04.07

오성인·2023년 4월 7일
0

TIL

목록 보기
1/66
post-thumbnail

1. 오늘 겪은 문제

  1. TIL 특강 (by 강민철)
  2. JS 알고리즘 문제풀이 중 {
    1. 익숙치 않았던 Js의 String, Array 하위 메소드들 (subString, splice, reduce)
    2. Js의 난감했던 sort() 함수
    3. isNaN 함수의 지수 표현 시 예외 처리
    4. Js의 각 종 진법 처리
    5. Js Array는 반전을 위해 reverse() 함수를 사용하면 편했으나, 문자열의 경우 따로 지원하지 않아 불편했다.
    }

2. 해본 시도

1. TIL 특강
특강 들으면서 하지말라는 걸 다하고 있는 내 모습을 발견 해서 특강에 나온 들어가야할 요소들을 항목으로 해서 앞으로 양질의 TIL을 작성하도록 시도 중이다.
2. 알고리즘 문제 풀이
- JS MDN문서를 많이 찾아 봤다.
- isNaN 함수의 경우 만약 문자열로 '1e10'과 같은 형식으로 들어온다면 해당 문자열을 숫자로 인식하기 때문에 for문을 통해 모든 문자열에 대하여 검증을 수행했다.
- Js에서 진법을 처리하는 방식을 전혀 몰랐다. 해서 3진법 변환을 처리 하기 위해 3으로 나눈 몫과 나머지를 이용하기 위해 시도했지만 잘 되지 않았다.
- Js 문자열을 반전하기 위하여 for 문을 역순으로 순회하며 새로운 문자열을 반환하도록 하였다.

3. 해결 방법

  1. TIL 특강 - 앞으로 문제 - 시도 - 해결 - 새롭게 알게된 점으로 구성된 TIL을 기록한다.
  2. 알고리즘 문제 풀이
    • MDN문서를 읽음으로 해결 하였다.
    • toString(몇진법), parseInt(해당 값, 몇진법) 입력시 진법 변환을 자유롭게 할 수 있다.
  3. split 함수를 통해서 array로 변환하고, reverse 함수로 전환해주고, join 함수로 다시 합쳐주면 편하게 문자열 반전을 할 수 있었다.

4. 새롭게 알게 된 점

  • isNaN 함수에 지수형 문자열이 들어오면 숫자로 인식한다는 점
  • splice(지정할요소 혹은 요소들의 시작 인덱스, 수정 혹은 삭제할 요소의 개수, 수정시 대체 시킬 요소)
  • subString(시작 인덱스, 끝 인덱스) -> 문자열의 해당 인덱스 만큼의 요소를 반환
  • reduce(누적 계산기, 현재값 => 누산할 작업, 누산의 초기 값)
  • sort(compareFunction)의 경우
    compareFunction(정렬 순서를 정의하는 함수)가 생략되면 배열의 요소들을 문자열로 인식해서 유니코드 값 순서대로 저장한다. 때문에 숫자로 정렬시, 정렬 순서를 지정하는 함수를 넣어주면 해결 가능하다.
    배열 [1, 3, 2, 4].sort((a, b) => return a-b) 라고 할 때, a-b가 양수면 요소들을 움직이는 방식으로 동작하고 때문에 a-b시 오름차순, b-a시 내림차순으로 정렬된다.
    하지만 어렵기 때문에 보통은 유용한 함수를 모아놓은 loadsh 라는 라이브러리의 ._sortBy()라는 함수를 사용한다고 한다. -> 성능이 보장된 다양한 메소드를 가지고 있다고 합니다!!!
  • toString(몇진법), parseInt(해당 값, 몇진법) 입력시 진법 변환을 자유롭게 할 수 있다.
  • 문자열 반전시 -> string.split('').reverse("").join("") 👍
profile
기여하는 개발자

0개의 댓글