일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JS
- 리덕스
- 달리기경주
- 리엑트
- Firebase
- debounce
- 자바스크립트
- 생명주기
- lifecycle
- google firebase
- useMutation
- 리액트
- next-pwa
- 투두리스트
- 배열
- Recoil
- programmers
- 넥스트
- React
- Redux
- csr
- 파이어베이스
- 겹치는 선분의 길이
- NextJS
- todolist
- react-query
- customModal component 만들기
- Next
- JavaScript
- SSR
- Today
- Total
목록전체 글 (48)
끄적끄적

문득이자 예전부터 해보고 싶었던, 관련 분야의 게시판을 만들어 보기로 했습니다. 사실 게시판이라고 하면 단순히 CRUD만 있는 간단한 프로젝트 아니냐 라고 할 수 있지만, 그렇게 따지면 무엇이 신선하고 실용적일까.. 하는 생각에 사용자에게 친숙하지만, 내가 하고 싶은, 필요할 것 같은 서비스를 만들어 보는거 자체에 큰 의미가 있다고 생각해서 만들어 보게 되었습니다. 정확히 어떠한 서비스이냐는 서비스의 완성단계에 가면 부끄럽지만 소개를 한번 드리고 싶습니다. 같이 프로젝트를 진행하는 서버 개발자 한분과의 작업을 통해 진행할 것이며, 디자이너 및 기획자는 없기에, 최대한 디자인이 잘된 라이브러리를 이용해볼것입니다. 작업의 진행방향은 디자인구성(MUI) → 상태관리 라이브러리 세팅(Recoil) → API 연..

처음문제를 보면 굉장히 간단해 보인다. participant를 한번 돌면서 completion을 보고 포함이 안되어있는 사람을 찾으면 되는 것이다. 그렇게 만만하게 문제를 보고 풀었더니 역시나 시간초과 였다. #잘못된 풀이 //잘못된 풀이 방식 (시간 초과) function solution(participant, completion) { return participant.filter(d => { if(completion.includes(d)){ let i = completion.indexOf(d); completion.splice(i,1); return false; } else return true; })[0] } 그러므로 최대한 배열을 사용안하는 방법을 생각해 보았다. 1. 먼저 p라는 객체에 part..

처음 문제를 보자마자 객체 하나로 싹 넣어서 하면 될 거같다는 생각이 왔다. 근데 마지막에 살짝 삐긋했던 것은 원하는 값은 정지당한 사람의 수가 아닌 a가 [b,c,...]를 신고했을때 신고당한 사람들 중 정지를 당한 사람의 수의 배열이다. 풀이방식은 다음과 같다. 1. p라는 객체에 누가, 누구를 신고했는지 저장한다. 2. 신고내역을 하나씩 보며 p를 작성한다. 3. p를 보고 각 id당 신고당한 회수를 살펴보고 조건보다 많이 되어있는 정지당할 사람을 추출한다. 4. 정지당한 id를 신고한 id를 추출한다 p = { 'id1': { 'id2': 0, 'id3': 0, 'id4': 0 }, 'id2': {...} ... } //solution function solution(id_list, report,..

처음에 문제를 봤을 땐 stack이 바로 떠오르지 않았다. ingredient의 길이가 1백만 이기에, 만일 for문을 2번 돈다 해도, 시간초과의 늪에 걸릴줄 몰랐다.. 잘못된 문제 해결을 먼저 보자. // 잘못된 접근 let str = ingredient.join(''); while(str.indexOf('1231') !== -1){ if(str.indexOf('1231') !== -1){ answer++; str.replace('1231', '') } } ... 이렇게 되면 만약 최악의 경우를 생각해본다면 n^2의 시간복잡도가 나올 수 있었을 것 같다. 사실 이걸 알았음에도 불구하고 1백만이라는 너무 약하게 본것도 있다. 다시 돌아와 배열을 이용한 stack 의 풀이 방식을 작성했다. 방식은 배열에..

문제는 문자열 S 의 각 문자를 Index 만큼 알파벳상의 순서 뒤로 미는데, Skip에 포함된 스펠링은 건너 뛰라는 것이다. 처음엔 아스키코드로 하는것이 편할까 하였지만, 다행히 알파벳은 몇개 되지 않기에 배열을 선택했다. 1. 배열로 먼저 a부터 z까지 저장을 해놓은뒤 2. skip에 포함되어있는 스펠링을 배열에서 지우고 3. 문자열 s를 index만큼 배열에 기반하여 밀어주기만 하면된다 4. 여기서 문자열이 배열을 넘어가면 다시 앞에서부터 순서를 해야하기 때문에 길이만큼 모듈러연산? 즉 나눠주기만 하면된다. function solution(s, skip, index) { var answer = ''; let alpha = ['a','b','c','d','e','f','g','h','i','j','k..