본문 바로가기

전체 글39

(JAVA) 백준온라인 17087번 - 숨바꼭질 6 이 문제를 읽고 이해가 안 됐었다 .. 나만 그런가 해서 구글링을 해서 다른 분들의 글을 보았더니 나만 그렇게 생각했던건 아니었다! 휴 간단하게 D란? 수빈이가 한번에 걸을 수 있는 보폭의 크기다! 이것을 최대공약수 알고리즘인 gcd알고리즘을 사용하는 것이다 수빈이와 동생 N명의 각각 거리를 구한 다음 그 각각의 거리들의 최대 공약수를 구하면 된다! a, b, c가 있고 이 세 수의 최대 공약수를 구하고 싶다면 a와 b의 최대공약수를 구하고 그 최대 공약수와 c간의 최대 공약수를 구하면 된다 import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = ne.. 2023. 8. 17.
(JAVA)백준온라인 9613번 - GCD합 이 문제는 간단하다 말 그대로 반복문을 이용해서 모든 쌍의 최대공약수를 구하면서 계속 더해주면 된다! import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int t = sc.nextInt(); for(int i = 0; i 2023. 8. 17.
(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. 8. 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. 8. 11.
(JAVA)백준온라인 6588번 - 골드바흐의 추측 소수를 구하는 알고리즘을 사용하는 문제이다 ! //소수 판별하는 알고리즘 PrimeAry(){ for(int i=2; i 2023. 8. 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. 8. 8.