b.2075 N번째 큰 수
·
Algorithm & Data Structures/BOJ
https://www.acmicpc.net/problem/2075   📌 자바(Java)로 푸는 N번째 큰 수 문제 - 백준 2075 🧮 🔎 문제 개요 백준 2075번 - N번째 큰 수 문제입니다.N x N 크기의 행렬이 주어졌을 때, 모든 수를 정렬했을 때 N번째로 큰 수를 구하는 문제입니다. • 단순 정렬로 풀 수 있지만, 효율적인 풀이가 중요합니다. • 메모리 제한과 시간 제한을 고려하면 우선순위 큐 사용이 더 적절합니다. 💡 예제 입력512 7 9 15 513 8 11 19 621 10 26 31 1648 14 28 35 2552 20 32 41 49💡 예제 출력35➡ 모든 수 중 5번째로 큰 수(내림차순 정렬 기준)는 35 🛠 접근 방식 현재 코드는 모든 값을 배열에 넣고 정렬한 뒤 ..
Lv 3. 광고 삽입
·
Algorithm & Data Structures/Programers
https://school.programmers.co.kr/learn/courses/30/lessons/72414  📌 자바(Java)로 푸는 광고 삽입 문제 - 프로그래머스 📺📊🔎 문제 개요 프로그래머스 Lv.3 - 광고 삽입 문제입니다.하루 동안의 동영상 재생 기록(logs)이 주어졌을 때,광고를 삽입할 시작 시간을 정해서, 전체 광고 누적 시청 시간을 최대화하는 문제입니다.💡 예제 입력play_time = "02:03:55"adv_time = "00:14:15"logs = [ "01:20:15-01:45:14", "00:40:31-01:00:00", ...]💡 예제 출력"01:30:59"➡ 해당 시각에 광고를 삽입했을 때 광고 누적 시청 시간이 최대가 되는 시각을 반환🛠 알고리즘 ..
b.3273 두 수의 합
·
Algorithm & Data Structures/BOJ
https://www.acmicpc.net/problem/3273   📌 자바(Java)로 푸는 두 수의 합 문제 - 백준 3273  🔎 문제 개요 백준 3273번 - 두 수의 합 문제입니다.정수 N개로 이루어진 수열이 주어질 때,서로 다른 두 수를 더해서 target이 되는 경우의 수를 구하는 문제입니다.조건은 다음과 같습니다: • 한 쌍은 한 번만 셈 • 중복 없이, 오름차순 또는 내림차순 상관없이 쌍을 구성 💡 예제 입력9 5 12 7 10 9 1 2 3 11 13💡 예제 출력3➡ 5+8, 1+12, 2+11 총 3쌍이 존재 🛠 알고리즘 접근 방식 이 문제는 대표적인 투 포인터(Two Pointer) 기법으로 해결할 수 있습니다. ✏️ 주요 고려 사항 • 배열을 정렬한 후, 왼쪽 포인터..
동시성제어? 왜 두번해야함?
·
DB/RDBMS
DB가 다 해준다며? 그런데 왜 스프링에서도 동시성 제어를 해야 하지? 📚 시작하며 요즘 DB 스터디에서 『Real MySQL 8.0』을 읽으면서 MySQL에 대한 이해를 깊게 하고 있는데, 진짜 놀란 게 하나 있었다.“MySQL… 얘 동시성 제어에 진심이구나?” 정말 생각보다 정교하게 락(Lock)을 걸고,MVCC, 세마포어, Undo 로그, 트랜잭션 격리 수준 같은 기능으로동시에 발생하는 수많은 쿼리를 정확하게 처리하고 있었다. 그러던 중, 내가 참여 중이던 해커톤 프로젝트에서스프링 애플리케이션 쪽에서도 동시성 제어가 필요한 상황이 생겼다. 그래서 의문이 들었다.   ❓ 궁금했다 “DB에서 이렇게 철저하게 동시성 제어를 해주는데,왜 굳이 스프링에서도 락을 걸어야 하지?” 처음엔 이게 잘 이해되지 않..
Lv 4. 호텔 방 배정
·
Algorithm & Data Structures/Programers
https://school.programmers.co.kr/learn/courses/30/lessons/64063 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   📌 자바(Java)로 푸는 호텔 방 배정 문제 - 프로그래머스 🏨🔎 문제 개요프로그래머스 - 호텔 방 배정 문제입니다.호텔에는 k개의 방이 있으며, 손님이 원하는 방을 요청하면 비어 있으면 배정하고,비어있지 않다면 가장 가까운 빈 방을 배정해야 합니다.🚪 여러 손님이 들어오면서 빠르게 배정하는 것이 핵심입니다.💡 예제 입력long k = 10;long[] room_number = {1, 3, 4, 1, 3, 1};💡 예제 출력[1..
b.11657 타임머신
·
Algorithm & Data Structures/BOJ
https://www.acmicpc.net/problem/11657   📌 자바(Java)로 푸는 타임머신 문제 - 백준 11657 ⏳ 🔎 문제 개요 백준 11657번 - 타임머신 문제입니다.N개의 도시와 M개의 버스 노선이 주어질 때,“1번 도시에서 다른 모든 도시로 가는 최단 시간” 을 구하는 문제입니다.🕰 단, 음수 가중치(시간이 감소하는 경우)도 존재할 수 있으며, 음수 사이클 여부를 판별해야 합니다. 💡 예제 입력3 41 2 41 3 32 3 -23 1 -1💡 예제 출력43-1➡ 1번 도시에서 각각 2번, 3번으로 가는 최단 거리 출력 (도달 불가능 시 -1) 🛠 알고리즘 접근 방식 이 문제를 해결하기 위해 벨만-포드 알고리즘(Bellman-Ford Algorithm) 을 사용합니다...
b1956. 운동
·
Algorithm & Data Structures/BOJ
https://www.acmicpc.net/problem/1956   📌 자바(Java)로 푸는 운동 문제 - 백준 1956 🚴‍♂️🔎 문제 개요 백준 1956번 - 운동 문제입니다.V개의 마을과 E개의 도로가 주어졌을 때,“한 마을에서 출발하여 다시 그 마을로 돌아오는 최소 사이클의 길이” 를 구하는 문제입니다.🚴 즉, 최단 사이클(순환 경로)의 길이를 찾는 것이 핵심입니다. 💡 예제 입력3 41 2 13 1 12 3 11 3 5💡 예제 출력3➡ 최단 사이클의 길이가 3인 경우를 찾아 출력 🛠 알고리즘 접근 방식 이 문제를 해결하기 위해 플로이드-워셜 알고리즘(Floyd-Warshall Algorithm) 을 사용합니다. ✏️ 주요 고려 사항 ✔ 모든 정점 간 최단 경로를 계산해야 함✔ 각..
Lv 3. 미로 탈출 명령어
·
Algorithm & Data Structures/Programers
https://school.programmers.co.kr/learn/courses/30/lessons/150365 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   📌 자바(Java)로 푸는 미로 탈출 명령어 문제 - 최적화 과정 🚀 🔎 문제 개요 프로그래머스 - 미로 탈출 명령어 문제입니다.주어진 N x M 크기의 미로에서 출발지(x, y)에서 도착지(r, c)까지 정확히 k번 이동하여 도달하는 가장 빠른 경로를 찾는 문제입니다.단, 사전순("d" → "l" → "r" → "u")으로 가장 빠른 경로를 찾아야 합니다. 💡 예제 입력int n = 3, m = 4;int x = 2, y = 3,..
b.9370 미확인 도착지
·
Algorithm & Data Structures/BOJ
https://www.acmicpc.net/problem/9370   📌 자바(Java)로 푸는 미확인 도착지 문제 - 백준 9370 🚗📍 🔎 문제 개요 백준 9370번 - 미확인 도착지 문제입니다.출발지(S)에서 목적지 후보들 중,특정 도로(G-H)를 반드시 지나면서 도달할 수 있는 목적지를 찾아야 합니다.다익스트라 알고리즘을 활용하여 최단 경로를 구하는 문제입니다. 💡 예제 입력26 9 21 2 31 2 11 3 22 3 23 4 33 5 54 5 44 6 15 6 256💡 예제 출력65 6➡ 목적지 후보 중 특정 도로(G-H)를 지나면서 도달할 수 있는 곳을 출력 🛠 알고리즘 접근 방식 이 문제를 해결하기 위해 다익스트라 최단 경로 알고리즘(Dijkstra) 을 활용합니다. ✏️ 주요 ..
Lv 2. 지게차와 크레인
·
Algorithm & Data Structures/Programers
https://school.programmers.co.kr/learn/courses/30/lessons/388353 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   📌 자바(Java)로 푸는 지게차와 크레인 문제 - 프로그래머스 🚜🏗️🔎 문제 개요프로그래머스 - 지게차와 크레인 문제입니다.창고(storage)의 상태가 주어지고,크레인과 지게차의 요청(requests)이 순서대로 주어질 때,모든 요청이 처리된 후 창고에 남아있는 컨테이너 개수를 구하는 문제입니다.🔹 요청 처리 방식1️⃣ 크레인 사용 요청: 창고에 있는 특정 컨테이너를 모두 제거2️⃣ 지게차 이동 요청: 해당 컨테이너가 창고 외..