들어가며저는 프론트엔드 개발을 하면서 때때로 사용해야 하는 저장소 중에 하나인 Browser의 Storage를 어떻게 하면 잘 활용할 수 있을까?에 대한 글을 작성해보려고 하는데요. 저희가 많이 사용하는 Storage에는 LocalStorage, SessionStorage등이 있을 것 같은데요. 이 중에서 LocalStorage에 대한 예시를 같이 보면서 얘기하려고 해요. 기존에 Stroage Interface가 제공하는 API들을 사용하는 것은 개발을 할 때 어떤 아쉬움이 있는지 확인하고 어떤 방향으로 개선하려고 하는지 고민을 하고 구현체를 만들어 보려고 해요.Storage Interfacehttps://developer.mozilla.org/en-US/docs/Web/API/StorageStorage..
- 1, 2, 3 순서대로 N 길이의 수열을 만들기 - check 함수를 만드는 방식 let fs = require('fs'); let input = fs.readFileSync('/dev/stdin').toString().split(' '); const N = Number(input); let isOver = false recursive('1'); function check(num) { const length = num.length; for (let idx = 1; idx
const N = 4; const point = [ [0, 1, 2, 3], [4, 0, 5, 6], [7, 1, 0, 2], [3, 4, 5, 0], ]; const startTeam = []; let linkTeam = []; const half = N / 2; const visited = Array(N).fill(0); let min = Infinity; dfs(0); console.log(min); function dfs(index) { // 종료 조건, 원하는 데이터의 형태가 만들어 졌을 때. if (index === half) { let sumOfStartTeam = 0; let sumOfLinkTeam = 0; // 스타트팀에 속하지 않는 사람은 링크팀에 넣는다. for (let i = 1;..
타입스크립트에서 타입을 별도로 선언하는 방법으로는 interface와 type alias가 있는데 이 둘에 대해서 간단하게 알아보려고 합니다. 타입을 표현할 때 interface는 reference type의 타입을 표현한다. type alias는 primitive type, reference type 타입을 모두 표현할 수 있다. 타입을 중복 정의할 때 interface는 선언 병합(declaration merging)이 된다. type alias는 에러가 발생한다. 타입을 확장할 때 interface는 extends 키워드를 사용한다. type alias는 &(intersection) 연산자를 사용한다. 내부 동작을 제외하고 사용하는 관점에서는 이런 차이들이 있는 것 같습니다. 그래서 뭘 쓰면 좋을..
문제의 설명을 그대로 코드로 옮겨보려고 해봤습니다. function solution(order) { let result = 0; let containerIndex = 0; let subContainerIndex = -1; let orderIndex = 0; const length = order.length; const container = Array.from({ length }, (_, i) => i + 1); const subContainer = []; while (true) { if (result === length) break; if (subContainer[subContainerIndex] === order[orderIndex]) { result += 1; subContainer.pop(); su..
문자열에서 0을 제거해주는 함수, 이진수로 표현해주는 함수 2개를 각각 만들어서 해결했습니다. function deleteZero(str) { let newStr = ''; let count = 0; for (let i = 0; i 1) { rest = rest + String(length % 2); length = Math.trunc(len..