728x90
728x90
[백준 1865번 Java] 웜홀 - 벨만 포드(Bellman Ford)
코딩테스트/백준2024. 6. 17. 22:15[백준 1865번 Java] 웜홀 - 벨만 포드(Bellman Ford)

문제 난이도GOLD III (문제 링크)  풀이 [알고리즘] 벨만-포드(Bellman-Ford) 알고리즘벨만-포드 알고리즘은 그래프의 최단 경로를 구하는 알고리즘의 하나로, 다익스트라로 해결하지 못하는 음의 간선이 포함된 문제를 효과적으로 해결할 수 있는 알고리즘이다.  [알고리즘] 다mag1c.tistory.com 포스팅에서 학습했기 때문에 자세한 설명은 생략하고, 풀었던 방법만 나열해보고자 한다. 벨만-포드 알고리즘은 특정 출발점에서 모든 노드로의 최단 경로를 탐색하는 알고리즘이다. 또한 음수 사이클을 검출할 수 있다. 도달할 수 없는 노드를 표시하기 위해 INF에 가까운 값들로 초기화해서 사용할 수 있다.  첫번째 방법문제에서, 특정 노드를 언급하지 않았다. 한 노드에서 출발하여~~~이기 때문에, ..

[백준 1238번 / Java] 파티 - 다익스트라(Dijkstra)
코딩테스트/백준2024. 6. 9. 17:23[백준 1238번 / Java] 파티 - 다익스트라(Dijkstra)

문제 난이도GOLD III  문제 링크https://www.acmicpc.net/problem/1238   풀이 [알고리즘] 다익스트라(Dijkstra) 알고리즘다익스트라(Dijkstra) 알고리즘그래프의 최단 경로를 구하는 알고리즘으로 하나의 정점에서 출발하여 최단 거리를 구하는 알고리즘이다. 탐욕법(Greedy)과 동적 계획법을 사용하는 알고리즘으로,mag1c.tistory.com 위의 다익스트라 알고리즘을 사용해서 구현한 문제이다.    문제 예시를 그림으로 표현해보았다.목적지로의 최단거리만 구하면 됐던 기본적인 다익스트라 알고리즘 구현 문제에서, 반대로 2에서 각 노드의 최단 경로를 한번 더 구해주기만 하면 된다. (A -> X, X -> A) private static int[] dijkstra..

CS/알고리즘2024. 5. 26. 13:06[알고리즘] LCS (Longest Common Subsequence, Longest Common Substring)

LCSLongest Common Subsequence는 최장 공통 부분 문자열로, Substring의 값을 구하는 것이 아니라연속되지 않은 부분 문자열 중 가장 긴 공통 문자열을 찾는 알고리즘이다. 반대로, Longest Common Substring은 비슷하지만 부분 문자열이 아닌, substring이 되는 문자열이다. 예를들어 ABCDEF, BCDFQQ라는 문자열이 주어지면Longest Common Subsequence는 BCDF가 되고Longest Common Substring은 BCD가 된다.  LCS의 길이를 구할 때는 DP(Dynamic Programming)를 통해 메모제이션으로 효율적인 문제 해결이 가능하다.   점화식char[] w1 = word1.toCharArray();char[] w..

[알고리즘] Union Find
CS/알고리즘2023. 6. 16. 05:41[알고리즘] Union Find

서론올해 초부터 어느정도 적당한 난이도 이상의 코딩테스트들에 응시하고 있는데,항상 5번문제는 MST관련 문제가 나왔다. 조금만 변형되어도 풀기가 애매해질 정도로 얕은 정도로만 학습을 한 상태였기 때문에, 복기를 위해 관련된 것들을 학습하려고 한다.   Union FindDisjoint Set(서로소 집합)을 관리하는 데 사용되는 알고리즘으로, 각 집합의 대표 요소를 통해 집합을 식별한다. 대표 요소를 해당 집합의 부모라고도 부르며, 루트로 표현된다. 일반적으로 작은 번호를 부모로 정하는데, 이는 트리의 높이를 최소화하여 연산의 효율성을 높일 수 있다. 여러 노드가 존재할 때, union과 find 연산을 수행한다.Union : 노드를 연결Find : 특정 노드의 루트 노드를 찾음   예제 원소ABC부모A..

[Java] 2140. Solving Questions With Brainpower - LeetCode Daily Challenge
코딩테스트/leetcode2023. 5. 12. 14:32[Java] 2140. Solving Questions With Brainpower - LeetCode Daily Challenge

Solving Questions With Brainpower - LeetCode Can you solve this real interview question? Solving Questions With Brainpower - You are given a 0-indexed 2D integer array questions where questions[i] = [pointsi, brainpoweri]. The array describes the questions of an exam, where you have to process the qu leetcode.com 풀이 DFS를 이용해서, 해당 칸을 탐색할 수 있을 경우 탐색해서 모든 경우의수를 구한다음 최대값을 구하는 단순 DFS문제라고 생각했다. class ..

[Java] 59.Spiral Matrix II - LeetCode Daily Challenge
코딩테스트/leetcode2023. 5. 10. 21:15[Java] 59.Spiral Matrix II - LeetCode Daily Challenge

https://leetcode.com/problems/spiral-matrix-ii/ Spiral Matrix II - LeetCode Can you solve this real interview question? Spiral Matrix II - Given a positive integer n, generate an n x n matrix filled with elements from 1 to n2 in spiral order. Example 1: [https://assets.leetcode.com/uploads/2020/11/13/spiraln.jpg] Input: n = 3 O leetcode.com 풀이 방향에 대한 변수와, 한 칸씩 체크해줄 변수를 지정해 준 뒤, 카운팅만 잘 해주면 되는 문제였..

[Java] 뒤에 있는 큰 수 찾기 - Lv2 프로그래머스
코딩테스트/프로그래머스2023. 3. 5. 18:42[Java] 뒤에 있는 큰 수 찾기 - Lv2 프로그래머스

https://school.programmers.co.kr/learn/courses/30/lessons/154539 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 Stack을 활용 ( 정리 링크 ) Stack 후입선출(LIFO - Last In First Out)의 구조이다 ex) 음료수 진열대 사용하기 import java.util.Stack; Stack stack = new Stack(); // 값 추가하기 stack.push(1); stack.push(2); stack.push(3); // 맨 위에 있는 데이터(top)를 가져옴 mag1c.ti..

[Java] 문자열 나누기 - Lv1 프로그래머스
코딩테스트/프로그래머스2023. 3. 5. 15:09[Java] 문자열 나누기 - Lv1 프로그래머스

https://school.programmers.co.kr/learn/courses/30/lessons/140108 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 f - 첫 문자 나온 횟수 l - 뒤의 문자들이 나온 횟수 left - charAt돌릴 시작지점 right - 비교할 char public int solution(String s) { int answer = 1; int f=1; int l=0; int left = 0; int right = 1; while(right < s.length()) { if(f == l) { left = right..

728x90
728x90
image