전체 글
-
프로그래머스 코딩테스트 - 광물 캐기코딩테스트 풀이 2024. 11. 10. 21:31
문제 설명 제한 사항 해결 방법아이디어광물을 5개씩 쪼개서 저장 => 한 번 곡갱이를 선택하면 5개를 쪼개야 함주어진 곡갱이로 쪼갤 수 있을 만큼의 광물만 저장광물 정렬강한 곡갱이일 수록 강한 광물이 많은 조합에 사용하는 것이 좋음다이아몬드 -> 철 -> 돌 순서대로 정렬다이아몬드 -> 철 -> 돌 곡갱이 순서대로 광물 조합에 사용코드const PICK = ["diamond", "iron", "stone"];const FATIGUE = {diamond: [1, 1, 1], iron: [5, 1, 1], stone: [25, 5, 1]}function solution(picks, minerals) { var answer = 0; const count = picks.map((p, idx) => A..
-
프로그램머스 코딩테스트 - 피코쳇 로봇코딩테스트 풀이 2024. 11. 9. 14:33
문제 설명제한사항해결방법최소 경로를 찾아야 하기 때문에 BFS를 사용하면 될 것 같다.아이디어일단 문자열 배열로 되어 있는 보드를 2차원 배열로 변환BFS를 위한 노드의 위치 정보와 이동 횟수를 담은 큐 배열 생성이미 방문한 노드에 대한 정보를 담은 2차원 배열 생성 (이미 방문한 노드는 큐에 넣어도 최소 경로가 될 수 없음)탐색 진행노드의 위치에서 상하좌우 중 한 방향씩 장애물이나 가장자리까지 이동멈춘 위치가 골이라면 이동 횟수 + 1반환멈춘 위치가 방문한 적 없다면큐에 멈춘 위치 정보와 이동 횟수 + 1 저장방문 정보 저장큐를 끝까지 돌았음에도 골이 아니라면 -1 반환결과 코드function solution(board) { const map = board.map(b => b.split(""));..
-
[Vercel] SPA 새로고침 오류 해결방법개발 프로젝트: 핀더펜 2024. 11. 8. 11:26
문제상황루트 경로가 아닌 페이지에서 새로고침할 때 404에러가 뜨는 상황 원인핀더펜의 경우 ssr을 지원하지 않으며, SPA로 구현되어 있기 때문에 어떤 경로에서 접근하든 루트 경로의 index.html 에서 리소스를 찾아야 한다. 그러나 현재 상황에서는 페이지 경로에 해당하는 위치에서 리소스를 찾으려고하기 때문에 리소스를 찾을 수 없다는 오류가 나는 것이다. 요약하면 https://fin-the-pen/home에서 새로고침하더라도 루트 경로의 index.html을 끌고와야하는데 현재는 /home에서 index.html을 찾고있어 오류가 나는 것이다. 해결 방법github pages에 react 페이지를 배포해본 경험이 있다면 동일한 문제를 겪어봤을 것이다. github pages에서 문제를 해결하기 위..
-
[react + vite + vercel] 페이지 배포하기개발 프로젝트: 핀더펜 2024. 11. 7. 13:14
Vercel이란?Next.js 개발 팀에서 만든 프론트엔드 호스팅 사이트로 배포 자동화할 수 있게 빌드,배포,호스팅 서비스를 제공한다 깃허브와 연동해 배포할 수 있기 때문에 자동으로 변경사항을 파악하고 빌드, 배포를 도와준다. 브랜치에서 작업하고 변경 내용을 push하면 vercel이 자동으로 빌드해주기 때문에 PR을 올리기 전에 빠르고 편하게 문제를 파악할 수 있다는 점이 아주 큰 장점이라고 생각한다. 왜 Vercel을 적용하나?현재 프로젝트는 AWS의 S3와 Cloud Front를 이용해 배포하고 있었다. 앱 출시가 계속해서 미뤄지고 있는 상황에서 AWS 무료 계정의 종료 기한이 다가오고 있으며, 앞으로의 유지관리를 위해서는 무료 호스팅 사이트로 넘어가는 것이 좋을 것 같다는 판단이 들었다. 배포하기..
-
프로그래머스 코딩테스트 - 과제 진행하기코딩테스트 풀이 2024. 11. 6. 22:26
문제 설명제한사항 해결방법아이디어과제 시작시간 순으로 정렬처음 부여받은 과제를 모두 시작할 때까지 반복지금 진행중인 과제와 새로 시작해야 할 과제 시간 텀 구하기진행중인 과제가 끝나지 않았다면남은 과제 스택에 삽입진행중인 과제가 끝났다면현제 과제를 answer에 삽입남은 과제 스택에서 남은 과제를 꺼내면서 남은 시간만큼 진행할 수 있는 과제 진행다음 과제 진행코드function solution(plans) { var answer = []; const stack = []; plans.sort((a, b) => a[1] left) { stack.push([now[0], nowT - left]); } else { answer.push(now..
-
프로그래머스 코딩테스트 - 연속된 부분 수열의 합코딩테스트 풀이 2024. 11. 5. 23:32
문제 설명비내림차순으로 정렬된 수열이 주어질 때, 다음 조건을 만족하는 부분 수열을 찾으려고 합니다.기존 수열에서 임의의 두 인덱스의 원소와 그 사이의 원소를 모두 포함하는 부분 수열이어야 합니다.부분 수열의 합은 k입니다.합이 k인 부분 수열이 여러 개인 경우 길이가 짧은 수열을 찾습니다.길이가 짧은 수열이 여러 개인 경우 앞쪽(시작 인덱스가 작은)에 나오는 수열을 찾습니다.수열을 나타내는 정수 배열 sequence와 부분 수열의 합을 나타내는 정수 k가 매개변수로 주어질 때, 위 조건을 만족하는 부분 수열의 시작 인덱스와 마지막 인덱스를 배열에 담아 return 하는 solution 함수를 완성해주세요. 이때 수열의 인덱스는 0부터 시작합니다. 제한 사항입출력예시 (성공한 결과는 가장 아래에 있습니다..
-
[에러] Error: EPERM: operation not permitted, unlink '...'개발 프로젝트: 핀더펜 2024. 11. 5. 17:40
사건의 발달그동안 스토리북 자동 배포를 과정에서 npm ci를 하기 전 npm install을 해야한다는 오류가 생기는 문제가 있었다. 그래서 package-lock.json을 업데이트하기 위해 npm install을 해줬다. 그로 인해 pakcage-lock.json과 yarn.lock 파일 모두 업데이트 되었고, 이걸 푸쉬한 이후로 vercel에 배포가 안되는 문제가 생겼다. 그래서 로컬에서 다시 시도를 해봤는데 yarn install이 안되는 문제를 파악했다. 현재 핀더페의 경우 storybook은 npm 으로 배포하고 vercel은 yarn으로 배포되고 있다. vercel을 도입하기 전에는 github action을 통한 자동 배포인 storybook과 github pages는 npm 으로 배포하..
-
[Next.js] next Image 컴포넌트 사이즈 경고 해결프로젝트 캠프: Next.js 과정 2기 2024. 9. 30. 01:17
Next.js를 활용해 개발하다 보면 한번쯤은 마주쳤을 경고인 Image 컴포넌트 사이즈 경고!!Image with src "..." has either width or height modified, but not the other. if you use CSS to change the size of your image, also include the styles 'width: "auto"' or 'height: "auto"' to maintain the aspect ratio.도대체 왜 생기는 거야?일단 Next.js에서 제공하는 Image 컴포넌트는 자체적으로 이미지 최적화를 제공해준다. 따라서 Next를 사용해 개발을 한다면 별도의 Image 최적화를 해주지 않아도 우리는 편하게 이미지 최적화를 적용..