전체 글
-
(실버2)백준 10165: 격자상의 경로카테고리 없음 2025. 3. 30. 23:53
문제행의 수가 N이고 열의 수가 M인 격자의 각 칸에 1부터 N×M까지의 번호가 첫 행부터 시작하여 차례로 부여되어 있다. 격자의 어떤 칸은 ○ 표시가 되어 있다. (단, 1번 칸과 N × M번 칸은 ○ 표시가 되어 있지 않다. 또한, ○ 표시가 되어 있는 칸은 최대 한 개이다. 즉, ○ 표시가 된 칸이 없을 수도 있다.) 행의 수가 3이고 열의 수가 5인 격자에서 각 칸에 번호가 1부터 차례대로 부여된 예가 아래에 있다. 이 격자에서는 8번 칸에 ○ 표시가 되어 있다. 격자의 1번 칸에서 출발한 어떤 로봇이 아래의 두 조건을 만족하면서 N×M번 칸으로 가고자 한다. 조건 1: 로봇은 한 번에 오른쪽에 인접한 칸 또는 아래에 인접한 칸으로만 이동할 수 있다. (즉, 대각선 방향으로는 이동할 수 없다.)조..
-
패키지 매니저로 Yarn을 사용해야 하는 이유가 뭘까?프론트엔드 2025. 3. 11. 02:03
패키지 매니저란?패키지 매니저는 프로젝트에서 필요한 라이브러리와 패키지를 쉽게 설치, 업데이트, 삭제하고 의존성을 관리해주는 도구이다.주요 기능라이브러리 및 프레임워크 관리 – React, TailwindCSS 같은 라이브러리를 간편하게 설치할 수 있음.의존성 관리 – 프로젝트에서 사용하는 패키지들의 버전을 유지하고 업데이트할 수 있음.빌드 및 실행 자동화 – 프로젝트를 실행하거나 빌드하는 스크립트를 실행할 수 있음.팀 협업 용이 – package.json 파일을 통해 팀원들이 동일한 환경을 유지할 수 있음.🔹 대표적인 프론트엔드 패키지 매니저npm (Node Package Manager) – Node.js 기본 패키지 매니저Yarn – npm보다 빠른 속도를 제공하는 패키지 매니저pnpm – 더 효율..
-
-
Next.JS로 웹사이트 만들기코드잇 부스트 2024. 11. 15. 09:29
Next.JS토픽 소개프리렌더링Vercel을 이용한 호스팅파일 시스템 기반 라우팅등 Next.JS로 해결할 수 있다.리액트를 활용한 클라이언트 사이드 렌더링의 경우 초기로딩이 느리고 검색 엔진에 제공할 수 있는 정보가 적다.프로젝트 생성위 코드로 next.js 프로젝트를 생성할 수 있다.위 명령어로 개발 모드로 들어갈 수 있다.npm run devnpx create-next-app .css 적용@를 이용하여 전역 경로를 설정할 수 있다.위와 같이 app.js 에서 import 하면 전역 css를 적용할 수 있다.전역 css 적용하기다음과 같이 css를 적용할 수 있다.styles에서 css를 정의한다.초기 프로젝트는 다음과 같이 4개의 디렉토리를 가지고 있다.Next.js에서 css 적용하기.라우팅페이지..
-
코드잇 부스트 조각집 토이 프로젝트 회고코드잇 부스트 2024. 10. 29. 15:51
코드잇 부스트에서 조각집이라는 토이 프로젝트를 진행하였다.교내 산학 프로젝트에서 진행했던 프로젝트 이후로 프론트엔드로 프로젝트를 해본 것은 이번이 두번째였다.코드잇에서 기능 목록 및 피그마 디자인을 주어 기존 프로젝트에서 가장 스트레스를 받았던 디자인을 하지 않아도 되어서 편했다.약 3주의 기간이 주어졌지만 추석 연휴 및 교내 축제 일정이 껴있었고, 축제에서 맡은 역할이 있었기 때문에 실질적으로는 1주일밖에 개발을 진행하지 못했던거 같다. (사실 전부 핑계이고 내가 나태했었다..)기술 스택?이전 산학 프로젝트에서는 리액트를 활용하여 웹 개발을 했었고, 이번 코드잇의 커리큘럼에서도 리액트 위주로 학습을 진행했기 때문에 자연스럽게 리액트를 선택하게 되었다.Typescript를 2주 정도 배운 뒤에 진행됐던 ..
-
알고리즘: 카데인 알고리즘 (Kadane's algorithm)알고리즘 2024. 9. 10. 11:40
이 알고리즘은 배열에서 연속된 부분 배열의 구간 합 중 가장 큰 값을 찾는 알고리즘이다.보통 배열에서 최대 연속 구간합을 찾을 때에는 정렬 후 투포인터를 사용하게 되는데,위 알고리즘은 정렬할 수 없는 경우에 유용하게 사용할 수 있다.시간 복잡도는 O(n)이다.카데인 알고리즘의 기본 아이디어현재부분합, 최대부분합 두개의 변수를 사용한다.배열의 각 요소를 순회하면서 현재까지의 최대 부분합을 추적한다.현재 요소를 포함하는 것이 유리한지, 아니면 새로운 부분 배열을 시작하는 것이 더 유리한지를 비교하여 현재 부분합을 업데이트한다.전체 배열을 순회하면서 최대 부분합을 갱신합니다.카데인 알고리즘 구현 (C++)#include #include #include // std::maxint maxSubArraySum(c..
-
자료구조: Trie(자료구조)알고리즘 2024. 8. 12. 21:27
Trie(트라이)는 문자열을 저장하고 효율적으로 검색하기 위한 트리 기반 자료구조이다.트라이 자료구조는 특히 문자열 집합에서 특정 문자열을 빠르게 검색하거나 공통 접두사(prefix)를 찾는 데 효율적이다. 1. Trie의 기본 구조Trie는 트리와 유사한 구조를 가지며, 각 노드는 하나의 문자 또는 값을 나타낸다. 루트 노드(Root Node): Trie의 시작점으로, 비어 있는 상태로 시작한다.자식 노드(Children Nodes): 각 노드는 자식 노드를 가질 수 있으며, 자식 노드는 해당 문자로 이어지는 문자열을 나타낸다.말단 노드(Terminal Node): 특정 문자열의 끝을 표시하는 노드이다. 보통 플래그나 특수한 값을 사용하여 말단 노드를 표시한다.2. Trie의 주요 연산삽입(Insert..