본문 바로가기

분류 전체보기133

[코딩테스트/백준 알고리즘] 11052번 : 카드 구매하기 (자바, Java 풀이) 문제 https://www.acmicpc.net/problem/11052 11052번: 카드 구매하기 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net 문제 설명 문제 풀이 카드 1장을 가장 비싸게 사는 방법 - 1장 짜리 카드팩을 구매하는 비용 카드 2장을 가장 비싸게 사는 방법 - 2장 짜리 카드팩을 구매하는 비용 - 1장 짜리 카드팩을 구매하는 비용과 카드 1장을 가장 비싸게 사는 비용의 합 중 비싼 것을 선택 카드 3장을 가장 비싸게 사는 방법 - 3장 짜리 카드팩 구매하는 비용 - 1장 짜리 카드팩을 구매하는 비용과 카드 2장을 가장 비싸.. 2022. 8. 31.
[코딩테스트/백준 알고리즘] 1676번 : 팩토리얼 0의 개수 (자바, Java 풀이) 문제 https://www.acmicpc.net/problem/1676 1676번: 팩토리얼 0의 개수 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오. www.acmicpc.net 문제 설명 문제 풀이 n!의 뒤에 0이 몇 개 나오는지 알아보기 위해선 그 수를 소인수분해 했을 때 2와 5의 쌍이 몇 개 나오는지 알아보면 된다. 하지만 2는 엄청나게 많이 나올 것이 분명하기 때문에 우리는 5가 몇 개 나오는 지만 신경쓰면 된다. 수 소인수 분해 n! 4! 4 X 3 X 2 X 1 = 2³ X 3 24 5! 5 X 4 X 3 X 2 X 1 = 2³ X 3¹ X 5¹ 120 10! 10 X 9 X 8 X 7 X 6 X 5 X 4 X 3 X 2 X 1 = 2⁸ .. 2022. 8. 31.
[코딩테스트/백준 알고리즘] 9095번 : 1, 2, 3 더하기 (자바, Java 풀이) 문제 https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 문제 설명 문제 풀이 정수 4를 1, 2, 3의 합으로 나타내는 방법을 보자 1 + 1 + 1 + 1 1 + 1 + 2 1 + 2 + 1 1 + 3 2 + 1 + 1 2 + 2 3 + 1 이걸 좀 있어보이게 나타내면 아래 표와 같다. 어떻게 작은 문제로 나눠야 하는지 보일 것이다. n 식 나타내는 방법 4 1 + (n - 1) 1 + (1 + 1 + 1) 1 + (1 + 2) 1 + (2 + 1) 1 + 3 2 + (n - 2) 2 + (1 + 1) 2 + 2 3 + (n - 3) 3 + .. 2022. 8. 30.
[코딩테스트/백준 알고리즘] 11727번 : 2 X n 타일링 2 (자바, Java 풀이) 문제 https://www.acmicpc.net/problem/11727 11727번: 2×n 타일링 2 2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다. www.acmicpc.net 문제 설명 문제 풀이 문제에 대한 전반적인 설명은 아래 글을 참고하세요. 2022.08.29 - [🧑‍💻코딩 테스트/백준 (BOJ)] - [코딩테스트/백준 알고리즘] 11726번 : 2×n 타일링 (자바, Java 풀이) 이 문제에서는 2 X 2 타일이 생겼기 때문에 맨 왼쪽에 2칸짜리 타일을 채우는 경우가 2개가 나온다. 따라서 memo[n] = memo[n - 1] + (2 X memo[n - 2])로 답을 구할 수 .. 2022. 8. 30.