분류 전체보기(37)
-
(JAVA) 백준온라인 11726번 - 2xn 타일링
이 문제의 경우는,,,, 2x1 타일을 세로로 세워서 채우는 경우는 n - 1이라고 한다 그리고 가로로 눕혀서 채우는 경우는 n - 2이다 점화식은 dp[i-1] + dp[i - 2] 으로 나오는 것이다 코드는 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] dp = new int[1001]; dp[1] = 1; dp[2] = 3; for(int i=3; i
2023.09.10 -
(JAVA)백준온라인 1463번 - 1로 만들기
아 어렵다 구글링 하면서 계속 반복 연습 하는 수 밖에 없는 것 같다 ㅠㅠ import java.util.Scanner; public class Main { static int[] dp; public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); dp = new int[n+1]; dp[1] = 0; for(int i = 2; i dp[i/2] + 1){ dp[i] = dp[i/2] + 1; } if( i % 3 == 0 && dp[i] > dp[i/3] + 1){ dp[i] = ..
2023.09.09 -
(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.09.01 -
(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.08.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.08.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.08.17