부트캠프
10주 3일차 - 피그마 2/ 알고리즘
10주 3일차 - 피그마 2/ 알고리즘 1. 배운 것 데일리 코딩 5번 풀이 - DP 메모이제이션 복습 데일리 코딩 4번 리팩토링 - new Set 사용 new Set(); new Map(); 2. 내용 정리 데일리 코딩 5번 - DP 메모이제이션 let tiling = function (n, memo = [undefined, 1, 2]) { // dp - memoization 사용 // 처음 1개의 타일은 1가지 경우, 2개의 타일은 2가지 경우 // 그 외 n개의 타일의 경우의 수 = n-1개의 경우의 수 + n - 2 개의 경우의 수. // 즉 피보나치 수열 공식과 동일함. // 풀이 // 1. 하위 문제의 답을 저장할 memo 배열 선언 -> 매개변수에서 바로 // 2. if n === 1 ret..
10주 2일차 - 피그마
10주 2일차 - 피그마 1. 배운 것 피그마로 프로토타입 제작 2. 내용 정리 overflow된 항목은 프레임으로 묶여 있어야 prototype 탭에서 효과 적용 가능. → 우클릭 해서 frame selection. 프레임 크기 조정 시 내부 요소가 fixed 되어 있어야 내부 요소가 움직이지 않음. → 좌측의 layers 탭에서 해당 프레임 안의 요소들 선택 후 우측 design 탭에서 constraints 항목에서 고정 방향 지정. 예제는 좌측, 상단 2개 방향 지정. 캐러셀 카드 아이템 스크롤 효과 개선을 위해: 사각형 도형을 그린다. 도형을 해당 프레임 안에 넣고 우클릭: send to back 하여 한 레이어 내린다. 도형의 배경색을 Design 탭에서 기존 화면의 색과 일치하게 흰색으로 바꿔..
10주 1일차 - 휴가 사용(알고리즘 보충학습)
10주 1일차 - 휴가 사용(알고리즘 보충학습) 1. 배운 것 해시 테이블 - 별도 문서로 정리. https://github.com/ryan-kim-dev/data-structures-and-algorithms/blob/master/dataStructures/hash.md 버블 정렬 백준 1920번 프로그래머스 완주하지 못한 선수 2. 내용 정리 데일리 코딩 3번 - 버블 정렬 // 외부 for문: 배열 전체 순회 // 내부 for문: 요소 2개끼리 비교 & 정렬 완료된 뒷부분 반복에서 제외시키기 위해 -1 -i // noSwap: 정렬이 일어나지 않으면 break시켜 불필요한 연산 스킵 const bubbleSort = function (arr) { let noSwap; for (let i = 0; i..
9주 5일차 - JSON
9주 5일차 - JSON 1. 배운 것 JSON ↔ 객체 2. 내용 정리 코플릿 14번 복습 재귀 호출의 결과가 true일 경우에만 리턴을 주어야 이차원 배열이 있는 일차원 배열의 다음 요소로 넘어간다. 코플릿 15번 복습 for문 안에서 이차원 배열과 이차원 배열이 아닌 경우를 front, mid, end 세 변수에 나눠서 담고 1차원 배열로 합친다. 과정도 [1, 2, [3, 4], 5] 인 경우 [1, 2] [3, 4] [5] 로 만들고 […[1, 2], …[3, 4], …[5]] concat 또는 spread로 하나의 배열로 합친다. [1, 2, 3, 4, 5] function flattenArr(arr) { for (let i = 0; i < arr.length; i++) { if (Array...
9주 4일차 - 재귀, dp
9주 4일차 - 재귀, dp 1. 배운 것 데일리코딩 1번 내장함수 sort 사용하여 오름차순/내림차순 정렬하기 Math.max() 코플릿 재귀 재귀로 배열 관련 문제에서 head, tail 활용 arr.slice(1) : 맨 앞 요소 하나 빠진 나머지를 리턴. Object.keys(obj).length === 0 이면 빈 객체. dp - 별도 포스팅으로 정리. 2. 내용 정리 데일리코딩 1번 브루트 포스 방법으로 푸신 분들도 있었다. 아직 안배워서 난 모름 오름차순으로 기존 배열 정렬. 3개의 요소를 곱해야 하므로 오름차순 정렬 시 왼쪽 끝에서부터는 음수 쪽 최댓값, 오른쪽 끝에서 역순으로는 양수 쪽 최댓값 이므로 양수 쪽 최댓값은 오른쪽 끝부터 3개를 곱하고 음수 쪽 최댓값은 왼쪽끝부터 2개 곱하고 ..
9주 3일차 - 섹션2 회고, 재귀, dp
9주 3일차 - 섹션2 회고, 재귀, dp 1. 배운 것 동적 프로그래밍 재귀 복습 2. 내용 정리 재귀, DP 별도 문서로 정리중. https://handsome-parcel-51e.notion.site/DP-b9c9f5bf69594e768f652057fbfbd709 백준 10870번 피보나치 수 5번 const fs = require('fs'); const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt'; let input = fs.readFileSync(filePath).toString(); input = Number(input); function fib(n) { if (n === 0) return 0; if (n ===..
[코드스테이츠] SEB FE 39기 Section 2 회고
https://www.youtube.com/watch?v=EcyK8oRoPb4 섹션 회고 - SEB FE 39 section 2 회고 1. 배운 것 1.1 커리큘럼 리액트로 클라이언트 구현 express로 서버api 구현 1.2 개인 공부 자료구조: 연결 리스트 알고리즘: 이진 탐색, 재귀 2. 느낀점 2.1 같은 실수와 같은 깨달음의 반복 슬럼프가 심하게 왔고 현재 진행형이다. 결국 무리한 계획으로 복습도 예습도 추가 공부도 이도 저도 아니게 되니 집중력도 떨어지고 성취도 또한 떨어졌다. 부트캠프가 이기고 지는 승부의 세계는 아니지만 지금 나는 명백하게 지고 있었다. 코드가 쉽사리 읽히지도, 이전처럼 끝까지 물고늘어지고 싶지도 않아졌다. 섹션 1 회고에서 다 지목했던 문제들이었고 try가 제대로 되지 ..
9주 1일차 - state airline server
9주 1일차 - state airline server 1. 배운 것 req.body req.params req.query 딥다이브 17장 - 생성자 함수에 의한 객체 생성(깃에 정리) 2. 내용 정리 종합퀴즈 app.use가 다른 라우터보다 위에 있어야 아래 라우터의 요청들에 app.use의 미들웨어가 적용된다. 단순 요청(Simple Request)은 프리플라이트 요청(Preflight Request)을 생략하는 요청으로 Express 미들웨어와를 사용하는 상황으로 보기는 어렵습니다. 단순 요청은 만족시켜야 하는 조건들이 많습니다. GET, HEAD, POST 요청 중 하나여야 합니다. 자동으로 설정되는 헤더 외에, Accept, Accept-Language, Content-Language, Conte..
8주차 주말 - express로 api 서버 만들기
8주차 주말 - express로 api 서버 만들기 1. 배운 것 req.query req.params 2. 내용 정리 2.1 req.params로 분기하기 // 1. 객체 디스트럭쳐링 할당 사용 예시 app.get('/api/users/:type', async (req, res) => { let { type } = req.params; if (type === 'seoul') { let data = [ { name: '김철수', city: 'seoul' }, { name: '이철수', city: 'seoul' }, ]; res.send(data); } else if (type === 'jeju') { let data = [ { name: '이동근', city: 'jeju' }, { name: '박동근',..
8주 5일차 - Refactor Express
8주 5일차 - Refactor Express 1. 배운 것 express 단일 연결 리스트 개념정리, 문제풀이 2. 내용 정리 줌세션 buffer : 로딩중일때 우리는 데이터 하나 하나의 조각인 chunk를 받아오는데 이 것이 buffer객체 형태로 온다. on 메서드: end 메서드: 요청 메세지의 구성 응답 메세지의 구성 EventEmitters, Streams - 깊게 알기엔 시간상 지금 하기엔 비효율적임. 뭔지만 알자. http모듈 불러오기 리슨메서드가 server객체에서 호출되어야 함. 요청의 응답처리(response.end()) request 객체에서 메서드, url, 헤더를 받아오기(객체 구조분해할당) 분기 - cors, 경로별 분기, 에러 요청 바디 받아와서 응답 분기에 쓰기(비동기라서 ..