분류 전체보기(37)
-
(JAVA)백준 온라인 2004번 - 조합 0의 개수
맨 처음에 이 문제를 어떻게 접근했었냐면 nCm이라면 n!의 0개수에서 (n-m)!과 m!의 0개수를 빼주면 되는 줄 알았다. 그래서 알고리즘을 어떻게 짰느냐면 전 문제 팩토리얼 0의 개수 문제에서 추가로 작성해서... import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int m = sc.nextInt(); int count1 = 0; int count2 = 0; for (int i = 5; i
2023.08.12 -
(JAVA)백준온라인 1676번 - 팩토리얼 0의 개수
맨 처음에는 그냥 팩토리얼을 다 구한다음 뒤에서 0 갯수를 세고 0이 아닌 문자열이 나오면 바로 break로 탈출해서 갯수를 출력하는 형식으로 했었다. 하지만 숫자가 너무 커져서 감당을 할 수 없어서 정상적인 결과가 나오지 않아서 검색을 해보았더니 정말 기발한 방법이 있었다 마지막에 0이 나온다는것은 2x5 조합이 있다는 것이다 그리고 2는 모든 짝수의 소인수가 될 수 있어서 2의 개수는 정말 많다 그러므로 5의 갯수만 구해주면 끝나는 것이다 이것의 알고리즘을 적어보자면 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = ..
2023.08.11 -
(JAVA)백준온라인 6588번 - 골드바흐의 추측
소수를 구하는 알고리즘을 사용하는 문제이다 ! //소수 판별하는 알고리즘 PrimeAry(){ for(int i=2; i
2023.08.10 -
(JAVA)백준온라인 1934번 - 최소공배수
저번 문제를 풀어서 쉽게 풀고 넘어갔다! import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Scanner; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Scanner sc = new Scanner(System.in); int n = sc.nextInt(); for (int i = 0; i < n; i++) { int a = sc.nextInt(); int b = sc.nextInt();..
2023.08.08 -
(JAVA)백준 온라인 2609번 - 최대공약수와 최소공배수
나는 바보다 유클리드 최대공약수 알고리즘을 배웠음에도 불구하고 그새 까먹고 이 기본적인 문제도 풀지 못했기 때문이다 여기서 유클리드 최대공약수 알고리즘을 알려주겠다 // for문 사용 유클리드 알고리즘 int gcd(int a, int b){ while(b!=0){ int tmp = a%b; a = b; b = tmp; } return a; } //재귀 사용 int gcd (int a, int b){ if(a != 0){ return gcd(b, a%b); }else{ return a; } } 이게 바로 최대 공약수를 구하는 유클리드 알고리즘이다! 그리고 최소 공배수를 구하는 방법은 두 수를 곱하고 난 뒤 두 수의 최대 공약수로 나눠주면 된다! import java.io.BufferedReader; im..
2023.08.07 -
(JAVA)백준 온라인 11656번 - 접미사 배열
이번에도 쉬운 문제이지만 나에게는 어려운 문제였다.. 이번에도 역시나 이상한 방법으로 접근을 했었다 저 baekjoon이 있다면은 각각 알파벳을 배열에 하나하나 저장하고 정렬을 한 다음 이중 for문으로 어쩌구 저쩌구.. 아무튼 잘못 했었다 로직은 얼추 비슷했지만 틀렸다 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Stri..
2023.08.04