본문 바로가기

자바

다익스트라 알고리즘 개념 java 1. 개념(1) What? 다익스트라 알고리즘이 무엇인가요? 💡다익스트라 알고리즘은 한 정점에서 다른 정점으로 가는 최단 거리 비용을 구하는 알고리즘이다.다익스트라를 사용하면 시작 정점 S에서 직,간접적으로 연결된 모든 정점으로 가는 최단 거리 비용을 한 번에 구할 수 있다.(2) Why? 왜 해당 알고리즘을 써야 하나요? 🤔💭해당 알고리즘을 처음 접한다면 아마 지금까지 가중치가 없는 그래프에 대해서 정점 간의 최단 거리를 구하는 문제만 접해왔을 가능성이 높다. 가중치가 없는 그래프에서의 정점 간의 최단 거리는 BFS를 활용하면 쉽게 풀렸다. 왜냐하면 정점 사이를 잇는 간선의 개수가 곧 비용임으로 BFS를 돌렸을 때, 만나기까지 사용하는 간선의 개수만 세면 되었기 때문이다.하지만 가중치가 있는 그래.. 더보기
Programmers K진법에서 소수 개수 구하기 java 쉬운 풀이^^ 1. 문제 설명문제 링크2. 접근 방식해당 문제는 문제에서 하라는 대로만 하면 된다.(1) 받은 숫자를 N진법으로 변환한다.문제를 풀던 당시에는 Integer.toString(n, radix) 라는 문법을 알지 못했다. 해당 문법은 n을 2번째 인자인 radix진법으로 변환해서 String으로 반환한다. Integer.toString(n,2)이면 n을 2진법으로 반환해서 String 값으로 반환하는 것이다.이 문법을 몰라서, 직접 반환했다.반환 방법은 다음과 같다.바꾸려는 수를 n, 진법을 radix라고 할 때, n%radix == 0 이 될 때까지 n을 radix로 나눈다.이때 나머지 값을 저장하고 있는다.드디어 n%radix == 0 이 되면 지금까지 나왔던 나머지들을 역순으로 줄 세운다.자세한 변환.. 더보기