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) 기법으로 해결할 수 있습니다. ✏️ 주요 고려 사항 • 배열을 정렬한 후, 왼쪽 포인터..
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,..
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️⃣ 지게차 이동 요청: 해당 컨테이너가 창고 외..
b24445. 알고리즘 수업 - 너비 우선 탐색 2
·
Algorithm & Data Structures/BOJ
https://www.acmicpc.net/problem/24445   📌 자바(Java)로 푸는 너비 우선 탐색(BFS) - 백준 24445 문제 풀이 🚀🔎 문제 개요이 문제는 백준 24445번 - 알고리즘 수업 - 너비 우선 탐색 2 문제입니다.기본적인 BFS(너비 우선 탐색) 과정은 24444번과 동일하지만,이번에는 정점 방문 순서를 내림차순으로 정렬해야 합니다.💡 예제 입력5 5 11 41 22 32 43 4💡 예제 출력14325➡ BFS 탐색 시 정점을 큰 숫자부터 방문하도록 구현해야 합니다.🛠 알고리즘 접근 방식이 문제를 해결하는 방식은 24444번 문제와 동일하지만,각 정점의 인접 리스트를 내림차순(Collections.reverseOrder())으로 정렬해야 합니다.🔹 Java..
Lv 3. 보행자 천국
·
Algorithm & Data Structures/Programers
https://school.programmers.co.kr/learn/courses/30/lessons/1832 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   📌 자바(Java)로 푸는 보행자 천국 문제 풀이 🚦🔎 문제 개요이 문제는 프로그래머스 - 보행자 천국 문제입니다.주어진 도시 지도(cityMap[][]) 에서 출발점(0,0)에서 도착점(m-1, n-1)까지 가는 경로의 개수를 구하는 문제입니다.특정한 규칙(통행 불가 지역, 직진만 가능한 도로 등)이 존재하며,경로의 개수를 MOD(20170805)로 나눈 나머지를 출력해야 합니다.💡 예제 입력int m = 3;int n = 6;int..
b24444. 알고리즘 수업 - 너비 우선 탐색 1
·
Algorithm & Data Structures/BOJ
https://www.acmicpc.net/problem/24444   📌 자바(Java)로 푸는 너비 우선 탐색(BFS) - 백준 24444 문제 풀이 🚀🔎 문제 개요이 문제는 백준 24444번 - 알고리즘 수업 - 너비 우선 탐색 1 문제입니다.주어진 그래프를 너비 우선 탐색(BFS) 하면서 방문 순서를 기록해야 합니다.각 정점은 오름차순으로 방문해야 하며, 방문 순서는 result[] 배열에 저장해야 합니다.💡 예제 입력5 5 11 41 22 32 43 4💡 예제 출력12345➡ 1번 정점부터 BFS 탐색하며 방문 순서를 출력해야 합니다.🛠 알고리즘 접근 방식이 문제를 해결하기 위해 BFS(너비 우선 탐색) + 정렬을 활용합니다.✏️ 주요 고려 사항✔ BFS를 사용하여 그래프를 탐색✔ 간..
Lv 3. 기둥과 보
·
Algorithm & Data Structures/Programers
https://school.programmers.co.kr/learn/courses/30/lessons/60061 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   📌 자바(Java)로 푸는 기둥과 보 설치 문제 풀이 🚀🔎 문제 개요이 문제는 프로그래머스 - 기둥과 보 설치 문제입니다.주어진 명령에 따라 기둥과 보를 설치하거나 삭제해야 합니다.설치 조건을 만족하는 경우만 설치할 수 있으며, 삭제 후에도 구조물이 유지되는 경우만 삭제 가능합니다.💡 예제 입력int n = 5;int[][] build_frame = { {1, 0, 0, 1}, {1, 1, 1, 1}, {2, 1, 0..