티스토리

Geisha
검색하기

블로그 홈

Geisha

geishastory.tistory.com/m

개발 일기

구독자
5
방명록 방문하기

주요 글 목록

  • b9372. 상근이의 여행 https://www.acmicpc.net/problem/9372 🛫 자바로 푸는 상근이의 여행 문제 풀이 📌 문제 개요 백준 9372번 “상근이의 여행” 문제는N개의 국가와 M개의 비행기 노선이 주어졌을 때,모든 국가를 방문할 수 있는 최소한의 비행기 수를 구하는 문제입니다. 비행 노선은 양방향(왕복)입니다.주어진 국가와 노선들은 항상 연결 그래프를 이룹니다.중요한 조건은 “직접 연결된 비행기만 타는 것이 아니라, 경유도 가능“하다는 점입니다. 💡 예제 입력23 31 22 31 35 42 12 34 34 5 예제 출력24 🛠 알고리즘 접근 방식 이 문제는 사실상 그래프 이론 문제이며,그래프가 연결되어 있다는 전제 하에, 모든 노드를 방문하려면 필요한 간선 수는 다음과 같습니다: ✅ 핵.. 공감수 0 댓글수 0 2025. 5. 11.
  • b4195. 친구네트워크 https://www.acmicpc.net/problem/4195 👥 자바로 푸는 친구 네트워크 문제 풀이 📌 문제 개요 백준 4195번 - 친구 네트워크 문제는여러 명이 친구 관계로 연결될 때,각 관계마다 현재 친구 네트워크의 크기를 출력하는 문제입니다. 친구 관계가 주어짐 (A B → A와 B가 친구)친구 관계가 생길 때마다, A와 B가 속한 전체 네트워크(연결된 집합)의 크기를 출력이름은 문자열로 주어짐 💡 예제 입력23Fred BarneyBarney BettyBetty Wilma3Fred BarneyBetty WilmaBarney Betty 예제 출력2 3 4 2 2 4 🛠 알고리즘 접근 방식 핵심은 Union-Find (Disjoint Set) 알고리즘이름이 문자열이기.. 공감수 1 댓글수 0 2025. 5. 8.
  • b1976. 여행가자 https://www.acmicpc.net/problem/1976 ✈ 자바로 푸는 여행가자 문제 풀이📌 문제 개요 여행 계획에 따라 여러 도시를 순서대로 방문할 수 있는지 판단하는 문제입니다.도시 간의 연결 여부가 주어지며, 여행 경로에 포함된 모든 도시가 **같은 네트워크(연결된 그룹)**에 있어야 합니다. 1은 도시간 연결을 의미하고 0은 연결이 없음을 의미합니다.Union-Find(Disjoint Set)를 활용하여 각 도시가 같은 그룹에 속하는지 판단하면 됩니다. 💡 예제 입력330 1 01 0 10 1 01 2 3출력:YES 🧠 알고리즘 접근 방식 Union-Find 자료구조를 사용해 도시 간 연결 정보를 하나의 집합으로 병합합니다.여행 계획에 포함된 도시들이 **모두 같은 집합.. 공감수 2 댓글수 0 2025. 5. 6.
  • b1717. 집합의 표현 https://www.acmicpc.net/problem/1717 🧩 자바로 푸는 집합의 표현 문제 풀이 📌 문제 개요 백준 1717번 집합의 표현 문제는 Disjoint Set(서로소 집합) 자료구조의 기본 동작인 Find와 Union을 구현하는 대표적인 문제입니다. 연산 종류0 a b : a와 b가 속한 집합을 합친다.1 a b : a와 b가 같은 집합에 포함되어 있는지 확인한다. 💡 예제 입력7 80 1 31 1 70 7 61 7 10 3 70 4 20 1 11 1 1예제 출력:NONOYES 🧠 알고리즘 접근 방식 핵심은 Union-Find 알고리즘입니다.각 원소는 자신이 속한 집합의 대표(parent)를 가리킵니다.find(x)를 통해 대표를 찾고, union(x, y)를 통해.. 공감수 0 댓글수 0 2025. 5. 6.
  • b4803. 트리 https://www.acmicpc.net/problem/4803 📌 자바(Java)로 푸는 트리 - 백준 4803 🌳사이클 탐지 + 연결 요소(트리) 개수 구하기 (Union-Find) 🔎 문제 개요 백준 4803 - 트리 문제는, 주어진 그래프에서 사이클이 없는 연결 요소(트리)를 찾아야 하는 문제입니다.하나의 그래프 안에 여러 개의 트리가 있을 수 있으며,사이클이 있는 연결 요소는 트리로 취급하지 않습니다. 💡 예제 입력6 31 22 35 66 52 10 0 💡 예제 출력Case 1: A forest of 2 trees.Case 2: No trees. 🛠 알고리즘 접근 방식 이 문제는 전형적인 Union-Find(Disjoint Set) 알고리즘에✔ 사이클 감지를 덧붙이는 문제입니.. 공감수 1 댓글수 0 2025. 4. 28.
  • b2263. 트리의 순회 https://www.acmicpc.net/problem/2263 📌 자바(Java)로 푸는 트리의 순회 - 백준 2263 🌲 Inorder + Postorder → Preorder 복원하기 🔎 문제 개요 백준 2263 - 트리의 순회 문제는, 이진 트리의 Inorder(중위 순회) 와 Postorder(후위 순회) 결과가 주어질 때,이진 트리의 Preorder(전위 순회) 결과를 출력하는 문제입니다.💡 예제 입력32 1 32 3 1 💡 예제 출력1 2 3 🛠 알고리즘 접근 방식 이 문제는 트리를 직접 복원하지 않고,✔ 순회 결과만을 이용해 바로 Preorder를 만들어내는 것이 핵심입니다. 📌 트리 순회의 특징 이해하기순회 방법순서Preorder(전위 순회)루트 → 왼쪽 → 오른쪽In.. 공감수 0 댓글수 0 2025. 4. 28.
  • b11780. 플로이드 2 https://www.acmicpc.net/problem/11780 📌 자바(Java)로 푸는 플로이드 2 - 백준 11780 🛣️최단 거리 + 경로 출력까지 포함한 플로이드 워셜(Floyd-Warshall) 🔎 문제 개요 백준 11780 - 플로이드 2는모든 도시 쌍에 대해 최단 경로의 거리를 구하는 것뿐만 아니라,각 최단 경로를 직접 경로로 출력하는 문제입니다. 💡 예제 입력5141 2 21 3 31 4 1... 💡 예제 출력0 2 3 1 1002 1 23 1 32 1 4... 🛠 알고리즘 접근 방식 이 문제는 전형적인 Floyd-Warshall (플로이드-워셜) 알고리즘에✔ 경로 추적까지 덧붙이는 구조입니다. costs[i][j]: 도시 i에서 j까지의 최소 비용lists[i][j.. 공감수 1 댓글수 0 2025. 4. 25.
  • b13913. 순간이동 4 📌 자바(Java)로 푸는 숨바꼭질 4 - 백준 13913🧍‍♂️➡️🧍‍♀️ 최소 시간 + 이동 경로까지 출력하는 BFS 문제! 🔎 문제 개요 백준 13913번 - 숨바꼭질 4는정수 N(수빈이 위치)에서 K(동생 위치)까지다음 세 가지 연산으로 이동해 최소 시간을 구하는 문제입니다. X - 1X + 1X * 2 뿐만 아니라,✔ 최단 시간과 함께✔ 그때의 이동 경로를 정확히 출력해야 합니다! 💡 예제 입력5 17 💡 예제 출력45 10 9 18 17 🛠 알고리즘 접근 방식 이 문제는 전형적인 최단 거리 탐색 → BFS 문제입니다.하지만 경로 추적까지 해야 하므로,✔ 이동 이전 위치를 기록하는 prev[] 배열을 활용해야 합니다. 🔹 Java 코드 설명📌 Node 클래스static clas.. 공감수 1 댓글수 0 2025. 4. 22.
  • b2618. 경찰차 https://www.acmicpc.net/problem/2618 📌 자바(Java)로 푸는 경찰차 - 백준 2618 🚓🚓두 경찰차의 최소 이동 거리 + 이동 경로까지 구하는 DP 문제 🔎 문제 개요 백준 2618 - 경찰차 문제는N × N 크기의 도시에 경찰차 2대가 배치되어 있고,여러 사건이 순차적으로 발생할 때두 경찰차가 어떻게 사건을 분담해서총 이동거리를 최소화할 수 있는지를 구하는 문제입니다. 경찰차 1: 항상 (1,1) 위치에서 시작경찰차 2: 항상 (N,N) 위치에서 시작각 사건은 정확히 한 번만 처리해야 하며,각 사건은 경찰차 1 또는 경찰차 2가 처리해야 합니다.💡 예제 입력633 55 52 3 💡 예제 출력9121 총 이동거리: 9각 사건을 처리한 경찰차 번호 출력 🛠.. 공감수 1 댓글수 0 2025. 4. 18.
  • ✍️ 내 코드가 느렸던 이유: LinkedList를 배열로 바꾸고 생긴 일 🐣 시작은 코드 비교에서 최근에 백준 14002번: 가장 긴 증가하는 부분 수열 5 문제를 풀다가,다른 사람의 풀이와 내 풀이 사이에서 속도 차이가 유독 크게 나는 걸 발견했다.로직은 같았다.LIS(Longest Increasing Subsequence) 구하고, 실제 수열을 역추적해서 출력한다. 그런데 나는 이렇게 썼다:LinkedList result = new LinkedList();while (idx != -1) { result.addFirst(arr[idx]); idx = prev[idx];}반면, 다른 사람의 코드는 이렇게 배열로 처리하고 있었다:int[] result = new int[length];int pos = length - 1;while (idx != -1) { re.. 공감수 1 댓글수 0 2025. 4. 16.
  • b14003. 가장 긴 증가하는 부분수열 5 https://www.acmicpc.net/problem/14003 📌 자바(Java)로 푸는 가장 긴 증가하는 부분 수열 5 - 백준 14003 🔼LIS + 경로 추적을 O(N log N)으로 해결하는 대표 문제 🔎 문제 개요백준 14003번 - 가장 긴 증가하는 부분 수열 5 문제는수열이 주어졌을 때, 가장 긴 증가하는 부분 수열의 길이해당 부분 수열 자체 를 구하는 문제입니다.단, 수열의 길이가 최대 100만 개이므로 O(N²) 풀이 불가능합니다. 💡 예제 입력610 20 10 30 20 50 💡 예제 출력4 10 20 30 50 🛠 알고리즘 접근 방식 ✅ 핵심 전략: 이진 탐색 기반 LIS + 경로 추적 list[]: 현재까지 만든 LIS 수열 (값만 추적)dp[i]: arr.. 공감수 0 댓글수 0 2025. 4. 16.
  • b14002. 가장 긴 증가하는 부분수열 4 https://www.acmicpc.net/problem/14002 📌 자바(Java)로 푸는 가장 긴 증가하는 부분수열 4 - 백준 14002 📈최장 증가 부분 수열(LIS)을 구하고, 해당 수열을 출력하라!🔎 문제 개요 백준 14002번 - 가장 긴 증가하는 부분 수열 4 문제는기본적인 LIS(최장 증가 부분 수열) 문제에👉 “LIS 경로까지 출력”이 추가된 버전입니다.💡 예제 입력6 10 20 10 30 20 50 💡 예제 출력4 10 20 30 50 🛠 알고리즘 접근 방식 이 문제는 기본 LIS 문제에서“LIS의 경로를 저장”해야 하기 때문에✔ 단순한 DP 배열뿐 아니라✔ prev[] (이전 인덱스), lastIndex[] (길이별 마지막 인덱스) 추적이 필요합니다. 🔹 핵심.. 공감수 1 댓글수 0 2025. 4. 15.
  • b12852. 1로 만들기 2 https://www.acmicpc.net/problem/12852 📌 자바(Java)로 푸는 1로 만들기 2 - 백준 12852 🔢최소 연산 횟수 + 경로 추적까지 하는 DP 문제! 🔎 문제 개요 백준 12852번 - 1로 만들기 2 문제는정수 N이 주어졌을 때,1로 만들기 위해 사용할 수 있는 연산은 다음 세 가지입니다: X → X / 3 (3으로 나누어떨어질 때만)X → X / 2 (2로 나누어떨어질 때만)X → X - 1 최소 연산 횟수를 출력하고그 경로에 해당하는 숫자 순서도 출력해야 합니다. 💡 예제 입력10 💡 예제 출력310 9 3 1 🛠 알고리즘 접근 방식: Dynamic Programming (DP) ✏️ 핵심 전략 dp[i]: i를 1로 만들기 위한 최소 연산 횟수c.. 공감수 1 댓글수 0 2025. 4. 14.
  • b1450. 냅색문제 https://www.acmicpc.net/problem/1450   📌 자바(Java)로 푸는 부분 수열의 합 문제 - 백준 1450 🎒 🔎 문제 개요 백준 1450번 - 냅색 문제는최대 N = 30개의 물건이 주어질 때,각 물건의 무게를 더해 총합이 C 이하인 경우의 수를 구하는 문제입니다. 1 ≤ N ≤ 30, 1 ≤ C ≤ 1e9무작정 모든 조합을 돌리면 2³⁰ ≈ 10억 개, 시간 초과 발생❌➡ 그래서 “Meet in the Middle(중간에서 만나기)” 전략을 사용합니다. 🛠 알고리즘 접근 방식: Meet in the Middle  ✏️ 핵심 전략 배열을 반으로 나누고 각각 가능한 부분합의 조합을 모두 구함한 쪽 배열의 조합을 기준으로, 나머지에서 더해도 C 이하가 되는 조합 개수를 .. 공감수 1 댓글수 1 2025. 4. 10.
  • b3665. 최종순위 https://www.acmicpc.net/problem/3665   📌 자바(Java)로 푸는 최종 순위 문제 - 백준 3665 🏆🔁 🔎 문제 개요 백준 3665번 - 최종 순위는 위상 정렬(Topological Sort)을 응용하는 문제입니다. 작년 순위가 주어지고,올해 바뀐 순위 정보들이 입력되며,그 정보를 바탕으로 올해의 최종 순위를 결정하는 문제입니다. 단, 순위를 정확히 하나로 정할 수 없다면 ? 출력모순이 발생해서 순위를 정할 수 없다면 IMPOSSIBLE 출력 💡 예제 입력155 4 3 2 122 43 1 💡 예제 출력5 3 2 4 1  🛠 알고리즘 접근 방식 이 문제는 기본 위상 정렬에✔ 순위가 바뀐 간선을 뒤집는 작업(reverse edge)✔ 정점 진입 차수(indegre.. 공감수 1 댓글수 0 2025. 4. 9.
  • Lv 4. 무지의 먹방 라이브 https://school.programmers.co.kr/learn/courses/30/lessons/42891 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   📌 자바(Java)로 푸는 무지의 먹방 라이브 문제 - 프로그래머스 🍜⏱ 🔎 문제 개요 프로그래머스 Lv.4 - 무지의 먹방 라이브 문제는무지가 각 음식의 걸리는 시간만큼 음식을 순서대로 먹고,k초 후에 몇 번째 음식을 먹고 있어야 하는지를 구하는 문제입니다. 단, **음식 순서는 원형(끝나면 처음으로)**이고,시간이 부족하면 -1을 반환해야 합니다. 💡 예제 입력food_times = [3, 1, 2]k = 5 💡 예제 출력1➡ .. 공감수 1 댓글수 2 2025. 4. 8.
  • b.2696 중앙값 구하기 https://www.acmicpc.net/problem/2696   📌 자바(Java)로 푸는 중앙값 구하기 - 백준 2696 🔢 🔎 문제 개요 백준 2696번 - 중앙값 구하기 문제는여러 개의 수열이 주어졌을 때,각 수열마다 홀수 번째 수를 입력받을 때마다의 중앙값을 구하는 문제입니다. 입력 수열의 개수: T각 수열은 최대 10씩 끊어져 입력홀수 번째 수가 들어올 때마다 중앙값 출력 💡 예제 입력191 2 3 4 5 6 7 8 9 💡 예제 출력51 2 3 4 5  🛠 알고리즘 접근 방식 이 문제는 대표적인 중앙값(Median) 유지 문제로,**최대 힙(왼쪽 절반) + 최소 힙(오른쪽 절반)**을 사용하여 중앙값을 효율적으로 관리합니다.  ✏️ 핵심 아이디어 left: 최대 힙, 중앙값보다 .. 공감수 1 댓글수 0 2025. 4. 7.
  • Lv 2. 택배 배달과 수거하기 https://school.programmers.co.kr/learn/courses/30/lessons/150369 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   📌 자바(Java)로 푸는 택배 배달과 수거하기 - 프로그래머스 🚚📦 🔎 문제 개요 프로그래머스 Lv.2 - 택배 배달과 수거하기 문제입니다.트럭이 정해진 용량(cap)만큼 배달/수거를 하며 모든 집에 물건을 배달하고 수거하려고 합니다.왕복 이동 거리의 최솟값을 구하는 것이 목표입니다. 💡 예제 입력cap = 4, n = 5deliveries = [1, 0, 3, 1, 2]pickups = [0, 3, 0, 4, 0] 💡 예제 .. 공감수 0 댓글수 0 2025. 4. 4.
  • b.2075 N번째 큰 수 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 🛠 접근 방식 현재 코드는 모든 값을 배열에 넣고 정렬한 뒤 .. 공감수 0 댓글수 0 2025. 4. 4.
  • Lv 3. 광고 삽입 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"➡ 해당 시각에 광고를 삽입했을 때 광고 누적 시청 시간이 최대가 되는 시각을 반환🛠 알고리즘 .. 공감수 0 댓글수 0 2025. 4. 3.
  • b.3273 두 수의 합 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) 기법으로 해결할 수 있습니다. ✏️ 주요 고려 사항 • 배열을 정렬한 후, 왼쪽 포인터.. 공감수 0 댓글수 0 2025. 4. 1.
  • Lv 4. 호텔 방 배정 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.. 공감수 1 댓글수 4 2025. 3. 21.
  • b.11657 타임머신 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) 을 사용합니다... 공감수 0 댓글수 0 2025. 3. 20.
  • b1956. 운동 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) 을 사용합니다. ✏️ 주요 고려 사항 ✔ 모든 정점 간 최단 경로를 계산해야 함✔ 각.. 공감수 0 댓글수 0 2025. 3. 20.
  • Lv 3. 미로 탈출 명령어 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,.. 공감수 1 댓글수 0 2025. 3. 17.
  • b.9370 미확인 도착지 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) 을 활용합니다. ✏️ 주요 .. 공감수 1 댓글수 0 2025. 3. 15.
  • Lv 2. 지게차와 크레인 https://school.programmers.co.kr/learn/courses/30/lessons/388353 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   📌 자바(Java)로 푸는 지게차와 크레인 문제 - 프로그래머스 🚜🏗️🔎 문제 개요프로그래머스 - 지게차와 크레인 문제입니다.창고(storage)의 상태가 주어지고,크레인과 지게차의 요청(requests)이 순서대로 주어질 때,모든 요청이 처리된 후 창고에 남아있는 컨테이너 개수를 구하는 문제입니다.🔹 요청 처리 방식1️⃣ 크레인 사용 요청: 창고에 있는 특정 컨테이너를 모두 제거2️⃣ 지게차 이동 요청: 해당 컨테이너가 창고 외.. 공감수 1 댓글수 0 2025. 3. 13.
  • b.1707 이분 그래프 https://www.acmicpc.net/problem/1707   📌 자바(Java)로 푸는 이분 그래프 판별 문제 - 백준 1707 🚀 🔎 문제 개요 백준 1707번 - 이분 그래프 판별 문제입니다.주어진 무방향 그래프가 이분 그래프인지 판별하는 것이 목표입니다. 이분 그래프란? • 모든 정점을 두 개의 그룹으로 나눌 수 있는 그래프 • 같은 그룹 내 정점끼리는 서로 연결되지 않아야 함 • 즉, 인접한 정점은 항상 다른 그룹에 속해야 함 💡 예제 입력23 21 32 34 41 22 33 44 1💡 예제 출력YESNO➡ 첫 번째 그래프는 이분 그래프이며, 두 번째 그래프는 이분 그래프가 아님 🛠 알고리즘 접근 방식 BFS(너비 우선 탐색) 또는 DFS(깊이 우선 탐색)를 활용한 그래프 색칠.. 공감수 1 댓글수 0 2025. 3. 12.
  • Lv 2. 서버 증설 횟수 https://school.programmers.co.kr/learn/courses/30/lessons/389479 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   📌 자바(Java)로 푸는 서버 증설 횟수 문제 풀이 🚀 🔎 문제 개요 이 문제는 프로그래머스 - 서버 증설 횟수 문제입니다.주어진 시간별 플레이어 수(players[]) 를 기준으로한 대의 서버가 감당할 수 있는 최대 인원(m)과증설 시 적용되는 지속 시간(k)을 고려하여필요한 최소 서버 증설 횟수를 구하는 문제입니다. 💡 예제 입력int[] players = {10, 20, 30, 40, 50, 60, 70, 80, 90, 10.. 공감수 1 댓글수 1 2025. 3. 11.
  • b24445. 알고리즘 수업 - 너비 우선 탐색 2 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.. 공감수 1 댓글수 1 2025. 3. 6.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.