개발/백준알고리즘
25304번_영수증_java
● 코드 package acmicpc; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.Arrays; public class acmicpc25304 { public static void main(String[] agrs) { try { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(S..
3003번_킹, 퀸, 룩, 비숍, 나이트, 폰_java
각 피스의 개수 + 더하거나 빼야 되는 피수 수 = 체스에서 각 피스의 수 ● 코드 package acmicpc; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.Arrays; public class acmicpc3003 { public static void main(String[] agrs) { try { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter writer = ne..
24416번_알고리즘 수업 - 피보나치 수 1_java
● 정리 재귀 public static int fib_recursion(int n) { cnt++; if(n == 1 || n == 2) { return 1; } else { return fib_recursion(n-1) + fib_recursion(n-2); } } 자기자신을 반복해서 호출 f(n)을 구하기 위해 f(n-1), f(n-2)를 구하고 f(n-1), f(n-2)는 다시 쪼개지면서 f를 다시 호출하지 않을때까지 반복하는 방식(하향식) fib(5) = fib(4) + fib(3) = fib(3) + fib(2) + fib(3) = fib(2) + fib(1) + fib(2) + fib(2) + fib(1) = 3 * fib(2) + 2 * fib(1) fib(4) = fib(3) + fib(2..
2004번_조합 0의 개수_java
끝자리가 0이 되기 위해서는 10의 배수여야 하고 10의 배수는 2의배수 이면서 5의 배수이다. n이 250일 경우 5를 약수로 가지는 개수는 아래의 표와 같이 5의 배수의 수 + 25의 배수의 개수 + 125의 배수의 개수의 합과 같다. 5 25 = 5 * 5 125 = 5 * 5 * 5 250!의 5를 약수로 가지는 수는 250 / 5 + 250 / 25 + 250 / 125가 된다. 결과값은 (n!의 5를 약수로 가지는 수 - r!의 5를 약수로 가지는 수 - (n-r)!의 5를 약수로 가지는 수) 와 (n!의 2를 약수로 가지는 수 - r!의 2를 약수로 가지는 수 - (n-r)!의 2를 약수로 가지는 수) 중에 최소값을 구하면 된다. ● 코드 package acmicpc; import java...