본문 바로가기

전체 글204

[자료구조&알고리즘] 배열과 리스트(JAVA) 자바(Java) 배열(Array)과 리스트(List) 단순히 문법을 아는 것을 넘어, 두 자료구조의 내부 동작 원리와 성능 차이를 이해하는 것이 중요합니다. 해당 내용은 자바(Java)를 기준으로 배열과 리스트를 완벽하게 파헤치고, 성능, 동작, 메서드, 캐시 원리까지 알아보겠습니다. 배열(Array) : 고정된 연속 공간자바에서 배열은 같은 타입의 연속된 메모리 공간에 저장되는 자료구조입니다. 한 번 생성되면 크기를 변경할 수 없으며, 인덱스(Index)를 사용하여 요소에 접근합니다.특징 및 원리크기 고정(Static) : 배열은 생성 시점에 메모리 크기가 고정됩니다. 한 번 선언된 배열은 크기를 늘리거나 줄일 수 없습니다.캐시 힛 레이트(Chash hit rate) : cpu가 데이터를 가져올시 배열.. 2025. 9. 25.
[Coding Test] 아이템 줍기(JAVA, LV.3, BFS, 2배 스케일링) 문제 설명다음과 같은 다각형 모양 지형에서 캐릭터가 아이템을 줍기 위해 이동하려 합니다. 지형은 각 변이 x축, y축과 평행한 직사각형이 겹쳐진 형태로 표현하며, 캐릭터는 이 다각형의 둘레(굵은 선)를 따라서 이동합니다.만약 직사각형을 겹친 후 다음과 같이 중앙에 빈 공간이 생기는 경우, 다각형의 가장 바깥쪽 테두리가 캐릭터의 이동 경로가 됩니다. 단, 서로 다른 두 직사각형의 x축 좌표 또는 y축 좌표가 같은 경우는 없습니다. 즉, 위 그림처럼 서로 다른 두 직사각형이 꼭짓점에서 만나거나, 변이 겹치는 경우 등은 없습니다.다음 그림과 같이 지형이 2개 이상으로 분리된 경우도 없습니다.한 직사각형이 다른 직사각형 안에 완전히 포함되는 경우 또한 없습니다. 지형을 나타내는 직사각형이 담긴 2차원 배열 re.. 2025. 9. 20.
[Coding Test] BFS 최단 거리 구하기(JAVA, LV.2) 상황 A에서 시작해서 B로 가는 최단 거리를 구하시오.조건 '1'로만 연속된 가로, 세로를 이동이 가능하고 '0'은 장애물로 지나갈 수 없는 곳. 도달 못할 시 -1 반환A(1)01111010110111111010000B(1) 입출력 [[1,0,1,1,1], [1,0,1,0,1], [1,0,1,1,1], [1,1,1,0,1], [0,0,0,0,1]]11[[1,0,1,1,1], [1,0,2,0,1], [1,0,1,1,1], [1,1,1,0,0], [0,0,0,0,1]]-1 package studyTestProject;import java.util.*;class CodingTest3 { int[] dx = {-1, 1, 0, 0}; int[] dy = {0, 0, -1, 1}; public.. 2025. 9. 19.
[IT공부] 나만 알고 싶은 웹 개발 빌드 툴 'Vite(비트)' Vite(프랑스어로 '빠르다'는 뜻의 '빛'을 뜻하는 '비트'로 발음)는 현대적인 웹 개발 환경을 위한 차세대 빌드 툴입니다. 등장배경기존의 "웹팩(Webpack, "번들링"(하나의 큰 파일로 합치는 의미)에 최적화된 빌드 툴)"과 같은 빌드 툴이 가지고 있던 "느린 개발 서버 시작" 및 "핫 리로드(Hot Reload) 속도" 문제를 해결하고자 등장했습니다. 핵심은 네이티브 ES 모듈(ESM)을 활용기존 방식(Webpack 등) : 개발 서버를 실행하기 전에 모든 소스 코드를 번들링(하나의 파일로 묶는 작업)합니다. 프로젝트가 커질수록 이 과정이 느려지고, 파일 하나만 수정해도 전체를 다시 번들링해야 해서 핫 리로드 속도가 느려지는 단점이 있었습니다.Vite 방식 : 소스 코드를 미리 "번들링"하지 .. 2025. 9. 10.