문제 설명트럭 여러 대가 일차선 다리를 정해진 순서대로 건너야 합니다.조건은 다음과 같습니다:다리는 최대 bridge_length대의 트럭만 동시에 올라갈 수 있습니다.다리가 견딜 수 있는 총 무게는 weight입니다.트럭은 1초에 한 칸씩만 이동합니다.완전히 다리에 올라가지 않은 트럭의 무게는 고려하지 않습니다.모든 트럭이 다리를 건널 때까지 최소 몇 초가 걸리는지를 구하는 것이 목표입니다. 문제 해결 전략매초마다 다리 위의 트럭 상태를 갱신한다.트럭은 1초에 한 칸씩 전진하고, 다리에서 빠진 트럭의 무게만큼 다시 공간이 생긴다.조건이 되면 대기 중인 트럭을 다리에 올린다.이를 Queue 자료구조를 활용하여 구현한다.코드 (Java)import java.util.*;class Solution { ..
[ 문제 요약 ]프로세스는 큐(Queue)에 순서대로 들어갑니다.가장 앞의 프로세스를 꺼내고, 뒤에 더 높은 우선순위의 프로세스가 있다면 다시 큐 뒤에 넣습니다.그렇지 않다면 해당 프로세스를 실행합니다 (종료 처리).내가 찾고자 하는 위치(location)의 프로세스가 몇 번째로 실행되는지를 구합니다.접근 방식Queue에 int[]{인덱스, 우선순위} 형식으로 삽입합니다.매 반복마다 큐에서 프로세스를 하나 꺼냅니다.나머지 큐를 순회하여 더 높은 우선순위가 존재하는지 확인합니다.있다면 다시 큐에 삽입, 없다면 실행 처리 후 count++.실행된 프로세스가 location과 같으면 종료.코드 구현import java.util.*;class Solution { public int solution(int[..
📌 정의Spring Data JPA는 JPA를 더 간편하게 사용할 수 있도록 도와주는 Spring 프로젝트이다.기존 JPA에서는 EntityManager를 직접 사용했지만, Spring Data JPA는 인터페이스만 정의하면 구현 없이도 CRUD 기능을 자동 제공한다.public interface UserRepository extends JpaRepository { List findByName(String name); // 자동으로 구현됨}JpaRepository를 상속하면 save(), findAll(), deleteById() 등 기본 메서드들을 제공받는다.✅ 장점코드가 간결해지고쿼리 메서드로 자동 SQL 생성커스텀 쿼리는 @Query로 처리 가능[ JPA Entity 생명주기 ]JPA의 En..
🔶 ORM(Object-Relational Mapping)이란?ORM은 객체(Object)와 관계형 데이터베이스(Relational Database)의 데이터를 자동으로 매핑해주는 기술이다.즉, 개발자는 SQL문을 직접 작성하지 않고도 자바 클래스만으로 DB 데이터에 접근하고 조작할 수 있다.// Java 객체public class User { private Long id; private String name; private String email;}이 User 클래스는 ORM에 의해 USER 테이블과 자동으로 매핑된다. 🔷 Hibernate란?Hibernate는 가장 널리 사용되는 ORM 프레임워크 중 하나로, Java 진영에서 객체와 테이블을 매핑하는 일을 담당한다.주요 특징SQL..
에라토스테네스의 체 - K번째 지워지는 수 구하기 (Java)📌 문제 개요백준 2960번 - 에라토스테네스의 체주어진 수 N까지의 자연수 중 소수를 찾는 에라토스테네스의 체 알고리즘을 이용해, K번째로 지워지는 수를 출력하는 문제입니다.단순히 소수를 찾는 것이 아니라 지워지는 순서에 집중해야 하므로, 구현에 주의가 필요합니다. 💻 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws IOException { ..
핵심안전 영역을 구하기 위해 BFS 탐색비의 높이 = k 라고 가정할 때, 높이 > k인 지역들로만 BFS 탐색높이 기준을 0 ~ maxHeight까지 변경하면서 최대 안전 영역 개수를 갱신실수 주의 포인트비가 아예 안 오는 경우, 즉 k = 0도 반드시 고려해야 합니다.이걸 누락하면 테스트케이스는 통과해도 실제 채점에서 오답 날 수 있어요. import java.io.*;import java.util.*;public class Main { static int[] dx = {-1, 1, 0, 0}; static int[] dy = {0, 0, -1, 1}; static int[][] map; static boolean[][] visited; static int N; pub..