본문 바로가기

개발자/Algorithm2

[백준] 1629번 곱셈 - JAVA 풀이 숫자가 커지지 않도록 처리가 필요하다. 위 문제를 보고 들었던 생각은 다음과 같다. 1. 제곱을 계속하게 될 경우 숫자가 너무 커져서 INT 크기를 넘어간다. 따라서, 이에 대한 처리가 필요하다. 2. 규칙성이 있을 것 같다. 위 두가지 였다. 규칙성을 찾아보기 위해서 다음과 같이 제곱을 계속 해보았다.위처럼 결과가 나왔다. 결과값을 13의 곱 + 나머지로 표현해보았다. 위처럼 표현해보면서 어떤식으로 처리해주어야할지 보였다. 예를 들어, 5의 세제곱의 13의곱 +나머지를 보게되면 5의 제곱의 13의곱 +나머지로 표현한 식에 각각 5를 곱한것이다. 그런데 이미 몫부분은 13으로 나누어떨어지는 값에 5를 곱한것이기 때문에 무조건 13으로 나누어 떨어지므로 고려할 필요가 없고 따라서 나머지에 5를 곱한값의 나.. 2023. 6. 18.
[백준] 1956번 운동 문제정리 1. 사이클을 이루는 도로의 길이의 합이 최소가 되도록 한다. 2. 각 마을(1~V) 어디에서 시작해도 상관없다.(시작한 마을로 다시 돌아와야한다.) 풀이방법 플로이드 워셜 알고리즘 소스 package boj; import java.io.*; import java.util.*; public class BOJ_1956_운동 { static BufferedReader br; static StringTokenizer st; static int V; //마을 갯수 static int E; //도로 갯수 static int[][] arr; static int minDistance = Integer.MAX_VALUE; static boolean[] visitCheck; public static void m.. 2023. 5. 21.