본문 바로가기
반응형

PS 문제 풀이653

[BOJ] 백준 1676 팩토리얼 0의 개수 (Java) 출처: https://www.acmicpc.net/problem/1676 N!에서 뒷자리부터 0의 갯수를 출력하는 문제 (0! = 1) (단, '0'이 아닌 숫자가 나오는 지점까지의 갯수) 0 ≤ N ≤ 500이므로 크지 않은 N이지만 N!는 long 타입으로 담을 수 없다. 그렇기에 규칙을 파악하여 N! 결과값이 아닌 팩토리얼 과정에서 규칙을 파악해야 한다. 0! = 1 1! = 1 2! = 2 3! = 6 4! = 24 5! = 120 6! = 720 7! = 5040 8! = 40320 9! = 362880 10! = 3628800 ▶ 0 개수는 결국 10의 배수이며 2*5의 구성이 나오는 경우이다. 즉, N! 과정에서 2와 5로 나누어 떨어지는 경우를 count 한다. 주의해야할 Case [inp.. 2021. 2. 13.
[BOJ] 백준 3040 백설 공주와 일곱 난쟁이(Java) 출처: https://www.acmicpc.net/problem/3040 주어지는 9개의 숫자 중 7개를 선택했을 때의 합이 100이 되는 경우를 구하는 문제이다. 조합 개념을 이용할 수 있지만 9개의 숫자밖에 주어지지 않으므로, 삼중 for문 이용. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // 9개의 모자의 숫자를 입력받는다. int[] arr = new int[9]; for(int i=0; i 2021. 2. 13.
[BOJ] 백준 1075 나누기 (Java) 출처: https://www.acmicpc.net/problem/1075 100 ≤ N ≤ 2,000,000,000에서 끝의 두 자리수를 최대한 작게 만들어서 주어진 정수 『 F 』로 나누어 떨어지게 하는 문제이다. ① 끝의 두 자리를 00 ~ 99로 숫자를 변환한다. (int 처리) ② 끝의 두 자리를 제외한 남은 자리의 수와 ①의 숫자를 이어준다. (String 처리) ③ F로 나누어 떨어지는 확인한다. import java.util.Scanner; // 이번 문제의 key point는 N의 뒷 두자리수를 최대한 작게하는 것이다. // (물론 F에 나누어 떨어져야한다.) public class Main { public static void main(String[] args) { Scanner sc =.. 2021. 2. 13.
반응형