![[알고리즘] 다익스트라(Dijkstra) 알고리즘](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcQgVSa%2FbtsH6xorwBZ%2FCZXQvj5Ittl2DFhR1T6ATk%2Fimg.png)
다익스트라(Dijkstra) 알고리즘그래프의 최단 경로를 구하는 알고리즘으로 하나의 정점에서 출발하여 최단 거리를 구하는 알고리즘이다. 탐욕법(Greedy)과 동적 계획법을 사용하는 알고리즘으로, 음의 가중치(음의 값)가 없어야한다.음의 가중치가 존재하게 되면, 최소 비용의 음의 무한대값이 생성될 수 있으며 그리디 알고리즘을 적용할 수 없다. 인접 행렬로 표현된 그래프의 경우 O(n^2)의 복잡도를 가지며, 우선순위 큐를 사용하여 시간복잡도를 O(m logn)까지 낮출 수 있다. 매커니즘(1) 방문하지 않은 노드 중 가장 비용이 적은 노드를 선택한다 (그리디)(2) 해당 노드로부터 갈 수 있는 노드들의 비용을 갱신한다 (DP) 예시https://mag1c.tistory.com/451 [백준 1916번..
![[백준 13600번 / Java] Fatorial](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0U1ra%2FbtsmQDhpWNk%2FRAV7jbU6KpFjDWv90qFME1%2Fimg.png)
문제 링크 Silver 1 https://www.acmicpc.net/problem/13600 13600번: Fatorial O fatorial de um número inteiro positivo N, denotado por N!, é definido como o produto dos inteiros positivos menores do que ou iguais a N. Por exemplo 4! = 4 × 3 × 2 × 1 = 24. Dado um inteiro positivo N, você deve escrever um programa para determina www.acmicpc.net 풀이 solved.ac를 따라 class만 풀다보니 완전탐색만 너무 많이나와서 실2 ~ 실1기준 DP, 그리디..
![[백준 1931번 / Java] 회의실 배정 - 탐욕법](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdgP0pg%2FbtsmQpDK9i7%2FUDuB2SeK7hLpyrvkyYlJYk%2Fimg.png)
문제 링크 Silver 1 https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 풀이 최대의 경우의 수를 구하는 탐욕법을 요구하는 문제로 가장 많은 경우를 고려하기 위해 회의가 끝나는 시간으로 오름차순해주었고, 같을 경우 시작 시간으로 오름차순 해주었다. Arrays.sort(discussing, new Comparator() { @Override public int compare(int[] o1, int[] o2) { if(o1[1] == o2[1]) return o1[0] - o2[0]; else return o1[1] - o2[1]; } }); 탐욕법을 구현하..
![[Java] 광물 캐기 - Lv2 프로그래머스](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcEywC9%2Fbtr5PGwjqp7%2FRX5o9KkRjNwEOt4lPpH451%2Fimg.png)
https://school.programmers.co.kr/learn/courses/30/lessons/172927# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근방법 idx : minerals배열을 총 반복 돌아야하는 횟수로 나머지가 남을경우 올림처리(ex : 18일때 4번돌아야함) count : 광물 종류별 갯수 (처음에는 List을 활용하여 풀려고 했다) picksum : 총 광물을 캘 수 있는 수량(곡괭이 개수*5) 1. stone곡괭이의 경우의 수는 고려하지 않았다. 다이아, 철 곡괭이가 모두 소진된 후에 작업에 사용할 것이기 때문 2. m..