211012_TIL

anotherhoon·2021년 10월 12일
0

TIL

목록 보기
5/28
post-thumbnail

10월 12일 (화)

오늘 한 일

1. 프론트엔드의 비동기(callback -> promise -> async/await)를 작성했다.

1-1 [10분 테코톡] 📖 카일의 프론트엔드의 비동기(https://www.youtube.com/watch?v=fsmekO1fQcw)를 보고 정리하는 글을 작성했다.
1-2 모던 자바스크립트 핵심 가이드에서 제너레이터 부분을 참고했다.

2. "자바스크립트는 왜 그 모양일까?" (7장 배열) 부분을 읽었다

2-1 배열은 예전과는 다르게 다음 네가지 면에서 객체와 살짝 다르다.

1. 배열은 length속성을 가지고 있다. 배열의 length속성은 배열이 담고 있는 요소의 개수를 의미하지는 않습니다. 그 대신, 가장 큰 색인보다 1큰 값을 나타낸다. 
2. 배열은 Object.prototype보다 훨씬 더 좋은 매서드들을 가지고 있는 Array.prototype을 상속한다.
3. 배열은 객체 리터럴이 아닌 배열 리터럴을 사용해 만들어진다. [(왼쪽대괄호)와 ](오른쪽대괄호)안에 표현식이 하나도 없을 수도 있고, 하나이상의 표현식이 ,(콤마)로 구분되어 나열될 수도 있다.
4. JSON은 배열과 객체를 다르게 취급하는 반면, 자바스크립트는 둘을 비슷하게 처리한다.

2-2 배열의 초기화
두 가지 방법으로 새로운 배열을 만들 수 있다.

  • 배열 리터럴
  • new Array(정수)
let my_little_array = new Array(4).fill(0);
//my_little_array is [0,0,0,0]
let same_thing = [0, 0, 0, 0];
my_little_array === same_thing //false

my_little_array와 same_thing은 값이 같다는 것에 주목하세요. 동시에 분리된 고유의 값이고요. 문자열과 다르게, 하지만 다른 객체와 마찬가지로 배열은 실제로 같은 배열인 경우에만 같다고 봅니다.

3. ssafy

3-1 LIS(부분 수열)
이 수열의 부분 수열이란 이 수열을 구성하는 수의 순서는 유지 한 채 몇 개의 수를 제거해서 얻을 수 있는 수열들을 의미한다.

가장 긴 증가하는 수열 DP[i] i로 끝나는 가장 긴 증가하는 부분 수열의 길이

수열 1 3 7 4 9 8 9 5 3 7
DP 1 2 3 3 4 4 5 4 2 5

자신의 차례에서 자신보다 작은 수의 DP에 1을 더 한다. 그중에서 가장 긴 값 답 5.

3-2 2차원 단순 점화식
버튼 누르기
연속으로 같은 색깔을 두 번 못 누른다. a초 부터 b초 까지 버튼을 누를 때 얻을 수 있는 최대 정수를 구하라.

예제 4 6(4초부터 6초)

만약 5초 부터는 앞선 초에서 선택한 색상을 제외하고 가장 큰 수를 더한 값을 적는다.
따라서 가장 큰 값인 42가 되기 위해서는
10 + 19 + 13을 선택해야한다.

3-3 투포인터
중복없는 구간
n개의 숫자가 주어지고 이중에서 r개의 연속된 숫자를 선택 했을 때, 이 연속 부분 내에는 숫자가 중복되지 않기를 원한다. r의 최댓 값을 구하여라.

1 4 2 5 4 5 3 2 1
s e  / 2
s   e / 3
s     e / 4
s       e 4가 중복되니까 s를 처음 나온 4다음인 2로 보낸다.
    s   e / 3
    s     e / 5가 중복되니까 s를 처음 나온 5다음인 4로 보낸다.
        s e / 2
        s   e / 3
        s      e / 4
        s        e / 5

r은 5이다.

0개의 댓글