Floyd–Warshall 알고리즘을 사용한 해결방법입니다.먼저 2차원 배열을 생성합니다. 2차원 배열의 i는 i에서 j까지 가는 경우의 비용을 의미합니다.i와 j가 일치하는 경우는 자기 자신의 위치에서 자신의 위치로 가는 경우, 즉 제자리입니다. 따라서 요금은 0원입
combination 재귀 함수를 통해 조합을 구현할 줄 아는 것이 핵심.각각의 orders 요소에 구성되어있는 단품메뉴들 중 course 요소 개수만큼만 뽑아 조합을 구현합니다.ex) 단품메뉴: "ABCFG", 개수: 2개 -> combination(단품메뉴, 개수
이분탐색으로 접근해서 푸는 것이 효율적이다.min : 다리를 건널 수 있는 최소 명max : 다리를 건널 수 있는 최대 명mid : 다리를 건넜다고 가정할 명 수다리를 100명 건넜다고 가정하였을 때 실제 100명이 건널 수 있었는지 확인하려면 기존 stone 각 요소
Math.max로 최대값을 찾아 줄여나가는 방법은 효율성이 떨어진다. 내림차순으로 정렬한 뒤 탐색하여 제거해 나가는 방법으로 테스트 통과.
ban당한 id가 될 수 있는 user_id들을 담은 2차원 배열을 만듭니다.위 예시를 볼 때가능한 조합을 찾는 재귀문으로 난이도가 있습니다.유저 id를 숫자로 바꿔 생각해 보면예를들어 \[1,2, 1,2, 3,4] 일 때 각 배열에서 한 숫자씩 빼낼 때 가능한 조합은
동적계획법을 활용하여 풀 수 있는 문제 규칙을 찾아 이전의 결과를 캐싱하여 경우의 수를 추가 하는 방식으로 문제를 해결할 수 있다.배열의 각 인덱스를 거스름돈으로 가정한다.각 인덱스의 값을 거스름돈으로 가능한 경우의 수로 가정한다.0원의 경우 가능한 경우의 수를 1로
핵심은 두수가 같은지를 비교하기 위해서 오른쪽 문자열을 .split('').reverse().join('')하여 비교하는 과정은 형변환에 계산되는 비용이 많이 든다는 것이다 따라서 왼쪽 오른쪽 문자열을 하나하나 비교해 보며 일치하지 않는경우 바로 continue해버리는
npm i swruseSWR의 key가 fetcher로 전달되고 return 값이 data에 담긴다.fetcher에서 error가 발생할 경우 error가 반환된다.key는 swr의 식별자로써 서로 다른 컴포넌트에서 불러와도 data를 options의 캐싱을 설정할 경
npm i @types/jest @testing-library/react @testing-ribrary/jest-dom jest ts-jestredering된 페이지 내에서 일치하는 요소를 선택하기 위한 쿼리조건에 일치하는 요소가 없을 경우 error 발생조건에 일치하
css-in-js 형식으로 스타일을 사용할 수 있다.className이 자동으로 부여되기 때문에 스타일이 겹칠 염려가 없다.재사용이 가능하다.props, 조건 등에 따라 스타일을 지정 가능하다. vendor-prefixing, nested selectors, and m
npm i react-router react-router-domnpm i -D @types/react-router @types/react-router-domhtml5의 history api를 사용하여 UI를 업데이트.URL이 변화하며 서버에 요청을 보내지 않지만 his
redux-thunk는 function을 dispatch할 수 있기 때문에 function 로직을 통한 비동기처리 등 간편하게 다양한 작업을 할 수가 있다.redux-saga는 비동기 처리를 비롯하여 더 많은 작업들을 처리할 수 있게 도와준다.비동기 작업 시에 기존 요
웹 개발을 공부하면서 전체적인 흐름을 빠르게 이해하기 위해 javascript core, testing, optimization 등의 개념은 미뤄두고 유행하는 스택들을 공부해나갔다.따라서 나의 선호도 기준은 생산성 하나에만 초점이 맞춰져 있었고, boilerpate가
어떠한 작업이 시작부터 끝나는 순간까지 요청으로 들어온 모든 작업들 중 처리시간이 가장 짧은 작업을 다음 작업으로 처리해야 평균을 가장 줄일 수 있다.
버킷에 파일을 저장하기 위해 필요한 설정 과정버킷 -> 권한 -> 모든 액세스 차단 비활성화.(비활성화 하지 않을 시 버킷 정책 편집이 불가능하여 파일을 저장할 때 forbidden 에러 발생)버킷 -> 권한 -> 버킷 정책(편집)버킷 -> 권한 -> cors 편집
커뮤니티 사이트를 만드는 중에 게시물 업로드를 위한 무료 에디터로 quill을 선택했고, database에 무거운 이미지를 저장하는 것은 부적절 하다고 판단하여 이미지 저장소는 s3로 따로 분리하는 과정을 기록하였다. quill 기본설정에서는 이미지를 base64로 가
현재페이지 : curPage전체 게시물 : postCount한 페이지 당 15개의 게시물을 불러온다.페이지수는 10개씩 끊어서 나타낸다.next-with-apollo lib을 사용하여 getInitialProps에서 post들을 ssr로 받아온다.<< : 가
게시판을 만드는 중에 게시물들을 csr후에 useQuery로 받아오는 과정은 UI가 매끄럽지 못하고, SEO 적용도 안될뿐더러 게시물들의 최신상태를 나타내줄 수 없기에 ssr로 처리하기로 하였다.getStaticProps나 getServerSideProps로 적용하는