본문 바로가기

전체 글67

[프로그래머스][PCCP 기출문제] 3번 / 아날로그 시계 JS풀이 문제 링크 PCCP 3번 풀이 방법 생각보다 시간이 걸려서 다른 분의 풀이를 참고했습니다. 이 풀이가 직관적이고 이해가 쉬운 것 같아요 참고 블로그 시침, 초침과 분침, 초침이 겹쳤는지를 확인하려면 1초마다 각도를 확인하면 됩니다. 현재 시간 기준으로 초침의 각도가 시침의 각도보다 작고, 1초 뒤에 시침의 각도보다 크거나 같다면 겹쳐진 것이므로 카운트를 1 증가합니다 분침도 마찬가지입니다. 다만 3가지가 겹쳤을 경우에는 1번만 카운트 해야 하므로 1을 빼줍니다. 1. 내 풀이 function solution(h1, m1, s1, h2, m2, s2) { //초당 움직이는 초침, 분침, 시침 각도 const SECONDS_ANGLE = 360 / 60; const MINUTES_ANGLE = 360 / 6.. 2023. 12. 29.
[프로그래머스][PCCP 기출문제] 2번 / 석유 시추 JS풀이 문제 링크 PCCP 2번 풀이 방법 정답을 내기 위해 필요한 값들은 모든 석유 덩어리의 크기 시추관을 뚫을 수 있는 열에서 접근 가능한 석유 덩어리의 크기의 합 각 열에서 접근 가능한 석유 덩어리의 크기의 합을 저장하기 위해 land의 열의 크기와 같은 1차원 배열(oilArr)을 만듭니다. land의 모든 원소를 방문하면서 bfs로 모든 석유 덩어리의 크기를 구합니다. 한 덩어리를 구할 때마다 각 col별로 석유 덩어리의 크기를 oilArr에 더해줍니다. bfs를 사용할 때에는 시간 제한에 걸릴 경우를 대비해서 직접 큐를 구현하는 편입니다 1. 내 풀이 class Node { constructor(val) { this.val = val; this.next = null; } } class Queue { .. 2023. 12. 29.
Vitest & MSW를 사용한 테스트 코드 적용 vite를 사용하면서 jest를 사용하려고 했으나 msw에서 에러가 발생해서 vitest를 사용하기로 결정했습니다. 패키지 설치 우선 필요한 패키지들을 모두 설치해주세요 저 같은 경우는 아래처럼 설치했는데 혹시 제가 빠트린게 있을 수도 있어서 빠진 부분은 확인해서 추가해주세요 yarn add --dev vitest @testing-library/jest-dom @testing-library/react @testing-library/user-event msw jsdom MSW 설정 MSW를 사용하시려는 분들은 우선 공식 문서를 확인해주세요 저는 서비스워커로 데이터 모킹하는 것을 사용하지 않고 테스트를 위해서 msw를 사용하려고 합니다 api 개발이 완료되지 않아서 프론트 개발 중에 mock데이터를 사용하시.. 2023. 12. 29.
히어시티 EJS -> React 마이그레이션 과정(~ing) 프로젝트 소개 https://here-city.com 엔시티 찐팬인 친구의 기획으로 시작한 시즈니를 위한 웹페이지입니다. 레코드샵 : 키워드 맞춤 플레이리스트 엔슐랭 가이드 : 엔시티 팬들의 맛집 태그를 통합해서 지역별로 트위터 글들을 모아주는 서비스 엔가네 초이스 : 식사 메뉴 랜덤 추천 시티보드 : 엔시티 텍스트 대치 모음 네오스테이션 : 엔시티 춤동작으로 노래를 맞추는 게임 시즈니고사 : 엔시티 자컨 모의고사 NBIT: 엔시티 팬들을 위한 MBTI 테스트 그동안 통계를 바탕으로 핵심 기능을 추려서 마이그레이션을 진행하려고 합니다 레코드샵 엔슐랭 가이드 -> 트위터 API 유료화로 고민 중,, 시티보드 NBIT 마이그레이션 하는 이유 사실 팀원들의 개인 사정으로 콘텐츠 업데이트를 멈춘 상황이기에 서비.. 2023. 12. 29.
[백준] 2573 빙산 js 풀이 💡 접근법 햇수를 계산한다 1-1. 매년 빙산의 개수를 저장한다 iceCnt 1-2. 빙산의 높이를 바꿔줄 때마다 빙산의 개수 -1 해주고(iceCnt--) 1-3. 바꿔야 할 빙산이 남지 않았을 때, 새로운 해가 시작되는 것으로 간주한다(year++) 모든 빙산이 녹을 때까지 빙산의 높이를 조절한다.(bfs사용) 2-1. 빙산의 높이를 가지고 있는 배열은 2개를 사용한다. (why? 배열을 1개만 사용하여 업데이트 해줄 경우, 같은 해에 녹아서 0이 된 빙산이 인접 빙산의 높이를 조절할 때 바다로 카운트 되기 때문에) 2-2. 오리지널 배열(=새해가 시작되고 아직 빙산이 녹지 않은 배열)기준으로 인접 바다를 탐색하면서 임시 배열에 변한 빙산의 높이를 업데이트 해준다(bfs사용) 2-3. 높이가 0보다 .. 2023. 12. 28.
[위상정렬][백준] 2252 JS 풀이 위상정렬 : 방향 그래프에서 노드들간 선행 순서를 위배하지 않고 정렬하는 알고리즘 구현법 1. 맨 처음 모든 간선을 읽으며 indegree 테이블을 채운다 2. indegree가 0인 정점들을 모두 큐에 넣는다 3. 큐에서 정점을 꺼내어 위상 정렬 결과에 추가한다 4. 해당 정점으로부터 연결된 모든 정점의 indegree 값을 1 감소시킨다. 이 때 indegree가 0이 되었다면 그 정점을 큐에 추가한다 5. 큐가 빌 때까지 3,4번 과정을 반복한다 좀 더 자세한 설명이 필요하다면 출처: 바킹독 블로그 https://blog.encrypted.gg/1020 위상 정렬 문제에 적용하기 문제 N명의 학생들을 키 순서대로 줄을 세우려고 한다. 각 학생의 키를 직접 재서 정렬하면 간단하겠지만, 마땅한 방법이 .. 2023. 12. 28.