그래프탐색 - DFS와 BFS
·
Java & Spring/알고리즘
□ DFS와 BFS에 대한 개념 강의 영상https://www.youtube.com/watch?v=_hxFgg7TLZQ&t=624s  □ 실행 코드코드 보기import java.io.*;import java.util.LinkedList;import java.util.Queue;import java.util.StringTokenizer;public class Main { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); static int N, M, ..
에라토스테네스의 체(소수, 약수 구하기)
·
Java & Spring/알고리즘
◇ 알고리즘 정의고대 그리스의 수학자 에라토스테네스가 만들어 낸 소수를 찾는 방법.이 방법은 마치 체로 치듯이 수를 걸러낸다고 하여 '에라토스테네스의 체'라고 부른다.  ◇ 알고리즘 동장방식출처 : https://namu.wiki/w/%EC%97%90%EB%9D%BC%ED%86%A0%EC%8A%A4%ED%85%8C%EB%84%A4%EC%8A%A4%EC%9D%98%20%EC%B2%B4 에라토스테네스의 체Sieve of Eratosthenes 고대 그리스의 수학자 에라토스테네스 가 만들어 낸 소수 를 찾는 방법.namu.wiki ◇ 알고리즘 구현public class Main { public static void main(String[] args) { int number = 9; i..
투 포인터(Two Pointer) 알고리즘(세 수의 합 구하기)
·
Java & Spring/알고리즘
◇ 알고리즘 정의- 1차원 배열에서 각 다른 원소를 가르키는 2개의 포인터를 조작해가면서 원하는 값을 탐색하는 알고리즘이다.◇ 알고리즘 동장방식◇ 알고리즘 구현import java.util.*;public class Main { public static void main(String[] args) { int[] nums = {0, -5, -2, 4, 6, 9, -1}; int target = 5; int count = 0; Arrays.sort(nums); for (int i = 0; i target) { r--; } else { count+..
유클리드 호제법(최대공약수 구하기)
·
Java & Spring/알고리즘
◇ 유클리드 호제법 : 최대공약수를 구하는 알고리즘최대공약수(GCD) : 유클리드 호제법을 통해 구한다.최소공배수(LCM) : 두 수의 곱을 최대공약수(GCD)로 나눈다.두 수 A, B(A > B)에 대해 A / B의 나머지 C를 계산B를 C로 나눈 나머지 D를 계산C를 D로 나눈 나머지 E를 계산위 과정을 반복하여 나머지가 0이될 때 마지막 나누는 수가 최대 공약수가 된다.ex)1071과 1029의 최대공약수를 구하면 마지막 나머지가 0이되는 수 21이된다.1071은 1029로 나누어 떨어지지 않기 때문에, 1071을 1029로 나눈 나머지를 구한다. ≫ 421029는 42로 나누어 떨어지지 않기 때문에, 1029를 42로 나눈 나머지를 구한다. ≫ 2142는 21로 나누어 떨어진다.◇ 구현1. 재귀함..