일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 렌더링 최적화
- 항해99 부트캠프
- JS module system
- next js
- FP 특징
- 리액트 메모
- 항해99
- jwt
- v8 원리
- 항해99 미니프로젝트
- 리덕스
- toggle-btn
- 리액트
- 코어자바스크립트
- js배열 알고리즘
- 리액트 메모이제이션
- 테스트 코드 툴 비교
- 자바스크립트 엔진 v8
- gql restapi 차이
- 실행컨텍스트
- 함수형 프로그래밍 특징
- 웹 크롤링
- 항해99 사전스터디
- this
- 타입스크립트
- chromatic error
- 알고리즘
- Js module
- 리액트 렌더링 최적화
- 웹팩 기본개념
- Today
- Total
목록전체 글 (140)
Jaeilit
문제 https://www.acmicpc.net/problem/2805 2805번: 나무 자르기 첫째 줄에 나무의 수 N과 상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어진다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 둘째 줄에는 나무의 높이가 주어진다. 나무의 높이의 합은 항상 M보 www.acmicpc.net 틀린 내 코드 console.time("code_measure"); let fs = require("fs"); const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt"; const input = require("fs") .readFileSync(filePath) .toStr..
문제 링크 https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 문제는 첫번째 배열의 숫자가 있는데 두번째 배열에서 첫번째 배열에 숫자가 있느냐 있으면 1 없으면 0을 만들어서 출력하는 것이다. 먼저 내가 짠 틀린 코드를 보면, 코드 풀이 1. B 의 배열을 이진탐색을 위해서 오름차순 정렬을 했다. 대신 원본 배열을 잃지않기 위해 복사를 했다. 2. 정답의 길이만큼 0을 채워놓고 조건에 맞는 식만 1을..
이벤트 버블링 자세한 내용 https://ko.javascript.info/bubbling-and-capturing 버블링과 캡처링 ko.javascript.info onChange 는 Form 태그에 걸려있다. 위 사진은 동작은 classname 이 SearchInput__input 에서 입력을 했을 때 경우고 이번 사진은 급하게 만들어본 아무것도 없는 순수 input 태그이다. 두 콘솔의 차이는 path 속성과 target 부분이다. path 는 마치 스코프를 타고타고 전역까지 가는 모습이고 target 는 현재 target 즉 currentTarget 을 보여주는 것 같다. 왜 이런 차이가 발생했을까 이벤트 버블링은 최하위 이벤트가 일어난 속성부터 부모까지 이벤트를 전달전달전달 하는 것을 이야기하는..
완전탐색 중 단순 브루트포스는 모든 값을 읽어내기 때문에 가장 오래걸리지만 가장 확실한 방법입니다. 주어진 배열에서 어떤 값을 비교해서 최대 값을 찾거나 최소 값을 찾거나 이런 경우에는 배열을 2중으로 훑어야 하기 때문에 시간 복잡도는 O(n^2) 이 됩니다. 이진탐색 나무위키 그림입니다. 기본개념은 분할정복인데, 이유는 계속 반으로 나누면서(분할) 내가 원하는 조건에 상회하는지 지속적으로 살피는 것이기 때문이다. 이진탐색의 시간복잡도는 O(log N)으로 선형탐색 O(N) 보다 더 빠릅니다. 이유는 정말 간단하게도 분할을 하기 때문입니다. 이진탐색의 예시 코드 입니다. left 또는 statrt 라고 표현하며 시작 지점과, rigth 또는 End 라고 표현하는 끝 지점을 지정해주고 middle 지점은 ..
사내스터디로 플러터를 해보자는 이야기가 나와서 간단하게 셋팅하여 실행시켜봤다. 1. 플러터 sdk 설치 https://docs.flutter.dev/get-started/install/macos macOS install How to install on macOS. docs.flutter.dev 구글에 플러터 검색하고 들어가는 한국 사이트에서는 filed 이 떠있다. 한국 사이트 말고 외국 사이트를 들어가서 자신에게 맞는 걸 받으면 된다. 2. sdk 환경변수 등록 mkdir development cd development open . export PATH="$HOME/development/flutter/bin:$PATH" development 폴더를 만들어주고 위 명령어로 환경변수를 등록해준다. 3. 안..
후기, 1단계는 풀 줄 알았는데 카카오라서 그런가 너무 어려웠다. 테케는 통과했으나 채점돌리니 2개 빼고 다 틀렸다. 아마 그 2개가 테케 2개인듯 하다... 입출력 예제이다. 문제를 이해하는데도 한 10분이상 걸린듯 하다. id_list 가 유저목록이고 report 가 신고 목록이다. k는 신고를 이만큼 먹어야 정지 된다는 상수이다. report 에서 ['muzi frodo'] 는 무지가 프로도를 신고했다는 뜻이다. 합계이다. 무지는 1번 프로도는 2번 어피치는 0 네오는 2번 신고를 당했는데 중요한건 사진의 밑에서 무지는 k 만큼 신고당해서 정지를 먹인 그 신고자에게 정지 시켰다는 메일을 보내는 횟수를 배열로 리턴해야하는 문제이다. 예를들어서.. 밑에 테이블에서 유저가 신고한 ID 를 보면 무지가 프..
투포인트란 배열에서 포인트를 2개를 가지고 배열을 탐색하는 방법이다. 예제) [1, 2, 2, 5, 7, 7, 99 ] 배열에서 중복이 아닌 숫자의 갯수를 얻어내려면?? 이중 for문으로 i 와 j 를 두고 모두 탐색하면 방법도 있겠지만 그건 for 문이 2번이니 On^2 를 가지게 된다. i와 j를 가진다는 점에서는 비슷하지만 투포인트 기법으로 하게되면 O(n) 의 결과를 얻게 된다. 예제) [-4, -3, -2, -1, 0, 1, 2, 5] 이 배열에서 서로 더 한 값이 0이 되는 수를 찾아서 반환한다. 코드를 살펴보자, function sumZero(arr) { for (let i = 0; i < arr.length; i++) { for (let j = i + 1; j < arr.length; j+..
배열 2개를 비교해서 중복을 검사하는 알고리즘 1. 함수로 배열 2개를 받아서 두번째 배열이 첫번째 배열의 제곱이 되는 수로 이루어져있는지 체크하는 알고리즘 [1, 2, 3, 2], [9, 1, 4, 4] function same(arr1, arr2) { if (arr1.length !== arr2.length) { return false; } for (let i = 0; i < arr1.length; i++) { let correctIndex = arr2.indexOf(arr1[i] ** 2); console.log(correctIndex); if (correctIndex === -1) { return false; } console.log(arr2); arr2.splice(correctIndex, 1)..
테일윈드는 부트스트랩이나 antd 등과 다르게 인라인에 바로 적용 할 수있다. 당연 다른 css 프레임워크의 최대 단점인 커스텀이 어렵다는 것을 완벽히 보완해준다. 클래스 기반으로 이루어져있고 잘 활용한다면 반응형, 다크모드 등 껄끄러운 css 들을 손쉽게 사용 할 수 있다. 클래스 기반이기 때문에 css 가 커질 것으로 염려 할 수도 있는데 사용 하지 않는 클래스는 빌드하지 않기 때문에 크기에 대한 염려도 덜 수 있다. 상당히 매력적이다라고 할 수 있다. https://tailwindcss.com/ Tailwind CSS - Rapidly build modern websites without ever leaving your HTML. Documentation for the Tailwind CSS fra..
node express 로 서버 띄우고 간단한 curd api, middelware 기초적인 것을 따라해본 경험이 있다. + 소켓 튜토리얼 개인적인 견해 node 는 자바스크립트 언어를 브라우저 외부에서 사용 할 수 있게 만들어진 환경이고 브라우저 외부에서 사용 할 수 있다보니 서버에서도 쓰고 그러다보니 Express 라는 프레임워크로 서버도 만들고 node server 에 대해서도 라이브러리가 나오기 시작하면서 백엔드 영역까지 영향을 끼치게 되었다. 하지만 express 를 기반으로 하지만 여러 라이브러리 조합으로 서버를 꾸리다보니 중구난방이고 구조화가 잘 되어있는 스프링에 비해 탄탄하지 못해 약하다 또는 가벼운 곳에 쓰기 좋다? 라는 인식이 생겼고 사실이기도 한 것 같다. 이제 nest 가 등장하면서..