백준온라인23 (JAVA)백준온라인 11576번 - Base Conversion 이 문제의 풀이는 요약하자면 A진법을 10진법으로 바꾸고 난 후 B진법으로 바꿔주면 되는 것이다! 두번째 줄은 자릿수를 입력하고 그 자릿수에 따른 숫자를 세번째 줄의 입력에 공백으로 나누어서 넣어주면 된다! import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer; public class Main { public static boolean[] isComposite; public static void main(String[] args) throws I.. 2023. 9. 1. (JAVA)백준온라인 1373번 - 2진수 8진수 https://www.acmicpc.net/problem/1373 이 문제 같은 경우는 2진수가 주어지고 나서 3개씩 끊어줬을 때 1개가 남거나 2개가 남는 조건에 그에 맞는 계산을 해주고 나머지는 반복문을 이용하여 계산을 해준다 일단 2진수가 만약 1010011일 경우 3개씩 끊어준다 함은 1 / 010 / 011 로 끊고 각 칸에 맞게 계산을 한다면? 2^0*1 / 2^2*0 + 2^1*1 + 2^0*0 / 2^2*0 + 2^1*1 + 2^0*1 = 1 / 0 + 2 + 0 / 0 + 2 + 1 = 1/2/3 = 123이다! 이 원리를 기반으로 코딩을 한다 import java.io.BufferedReader; import java.io.IOException; import java.io.InputSt.. 2023. 8. 23. (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. 이전 1 2 3 4 다음