수학42 [백준] 2312번 - 수 복원하기 [Java] https://www.acmicpc.net/problem/2312 1. 아이디어 for문과 while문을 활용해서 간단하게 소인수분해를 구현할 수 있다.2. 문제풀이 2부터 점점 큰 수로 나눗셈을 해보며 소인수분해를 할 수 있는데 합성수는 이미 그 보다 작은 소수로 나누어졌기에 자연스럽게 소인수분해를 할 수 있다.소인수분해 이후 남은 수가 소수인지 1인지에 따라서 조건만 한번 더 체크해주면 된다.3. 코드 import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(.. 2024. 12. 3. [백준] 5347번 - LCM [Java] https://www.acmicpc.net/problem/5347 1. 아이디어 유클리드 호제법을 이용해서 최소 공배수를 간단하게 구할 수 있다.2. 문제풀이 유클리드 호제법으로 최대 공약수를 구하는 gcd 메서드를 작성하고 gcd를 통해 최소 공배수를 구할 수 있는 lcm 메서드를 작성하는 방식으로 구현했다.최소 공배수를 구하는 과정에서 int형 오버플로우가 날 수 있는 점만 주의해서 구현하면 된다.3. 코드 import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(.. 2024. 12. 3. [백준] 13241번 - 최소공배수 [Java] https://www.acmicpc.net/problem/13241 1. 아이디어 유클리드 호제법을 이용해서 최소 공배수를 간단하게 구할 수 있다.2. 문제풀이 유클리드 호제법으로 최대 공약수를 구하는 gcd 메서드를 작성하고 gcd를 통해 최소 공배수를 구할 수 있는 lcm 메서드를 작성하는 방식으로 구현했다.문제 조건에서 long 타입을 사용하라고 한 점만 참고해서 구현하면 간단하게 해결할 수 있다.3. 코드 import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader.. 2024. 12. 3. [백준] 1934번 - 최소공배수 [Java] https://www.acmicpc.net/problem/1934 1. 아이디어 유클리드 호제법을 이용해서 최소 공배수를 간단하게 구할 수 있다.2. 문제풀이 유클리드 호제법으로 최대 공약수를 구하는 gcd 메서드를 작성하고 gcd를 통해 최소 공배수를 구할 수 있는 lcm 메서드를 작성하는 방식으로 구현했다.3. 코드 import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWr.. 2024. 12. 3. [백준] 2609번 - 최대공약수와 최소공배수 [Java] https://www.acmicpc.net/problem/2609 1. 아이디어 유클리드 호제법을 이용해서 최대 공약수와 최소 공배수를 간단하게 구할 수 있다.2. 문제풀이 유클리드 호제법으로 최대 공약수를 구하는 gcd 메서드를 작성하고 gcd를 통해 최소 공배수를 구할 수 있는 lcm 메서드를 작성하는 방식으로 구현했다.3. 코드 import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); St.. 2024. 12. 3. [백준] 11653번 - 소인수분해 [Java] https://www.acmicpc.net/problem/11653 1. 아이디어 for문과 while문을 활용해서 소인수분해를 하는 방식으로 구현했다.2. 문제풀이 작은 수부터 나눠주면 소수인지 여부를 판단하지 않아도 소인수분해를 할 수 있는 점을 활용했다.다만 같은 수로 여러번 나눌 수 있는 점을 고려해서 while문으로 반복적으로 나누어주었고 소인수분해 이후 남은 값이 1 보다 클 경우 해당 값까지 포함해줘야 해서 이 부분까지 고려해서 구현했다.3. 코드 import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new Buffer.. 2024. 12. 3. [백준] 2581번 - 소수 [Java] https://www.acmicpc.net/problem/2581 1. 아이디어 소수 판정에 유용한 에라토스테네스의 체를 활용하면 간단하게 해결할 수 있다.2. 문제풀이 N의 범위가 10,000 이하의 자연수로 주어져 있으므로 10,000 이하의 소수를 판정하는 boolean 타입 배열을 구하고 이를 대조하는 방식으로 구현했다.M부터 N까지 반복문을 순회하며 합과 최솟값을 갱신하면 간단하게 구현할 수 있다.최솟값은 한번만 갱신해도 되지만 가독성을 위해 그냥 반복문 안에 넣었다.3. 코드 import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { .. 2024. 12. 3. [백준] 1929번 - 소수 구하기 [Java] https://www.acmicpc.net/problem/1929 1. 아이디어 소수 판정에 유용한 에라토스테네스의 체를 활용하면 간단하게 해결할 수 있다.2. 문제풀이 N의 범위가 1,000,000 이하의 자연수로 주어져 있으므로 1,000,000 이하의 소수를 판정하는 boolean 타입 배열을 구하고 이를 대조하는 방식으로 구현했다.3. 코드 import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); .. 2024. 12. 3. [백준] 1978번 - 소수 찾기 [Java] https://www.acmicpc.net/problem/1978 1. 아이디어 소수 판정에 유용한 에라토스테네스의 체를 활용하면 간단하게 해결할 수 있다.2. 문제풀이 N의 범위가 1,000 이하의 자연수로 주어져 있으므로 1,000 이하의 소수를 판정하는 boolean 타입 배열을 구하고 이를 대조하는 방식으로 구현했다.3. 코드 import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); St.. 2024. 12. 3. [백준] 5988번 - 홀수일까 짝수일까 [Java] https://www.acmicpc.net/problem/5988 1. 아이디어 홀수인지 짝수인지만 판단하면 되는 간단한 문제지만 기본 타입을 넘어서는 범위로 입력이 주어지는 점에 주의해야 한다.2. 문제풀이 홀짝 여부는 1의 자리 수만 판단하면 알 수 있으므로 1의 자리 수만 입력에서 추출해서 계산하면 된다.3. 코드 import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new Buffe.. 2024. 12. 3. [백준] 27323번 - 직사각형 [Java] https://www.acmicpc.net/problem/27323 1. 아이디어 직사각형의 넓이를 구하면 되는 문제로 가로 * 세로로 간단하게 해결할 수 있다.2. 문제풀이 조건에 맞게 출력만 하면 된다.3. 코드 import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int A = Integer.parseInt(br.readLine()); int B = Integer.parseInt(br.readLine());.. 2024. 12. 2. [백준] 10101번 - 삼각형 외우기 [Java] https://www.acmicpc.net/problem/10101 1. 아이디어 삼각형의 종류에 맞게 출력하는 문제로 조건문으로 간단하게 해결할 수 있다.2. 문제풀이 삼각형이 아닌 경우를 먼저 거르고 이후 삼각형의 정의에 맞게 조건 분기를 해서 구했다.3. 코드 import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int A = Integer.parseInt(br.readLine()); int B = Inte.. 2024. 12. 2. 이전 1 2 3 4 다음