목록Brute Force Algorithm (40)
기록방
👉 문제링크 3595번: 맥주 냉장고 맥주를 좋아하는 창영이는 냉장고에 맥주를 보관한다. 일반 냉장고에 음식과 맥주를 함께 보관하다보니 창영이의 냉장고에는 맥주를 넣을 곳이 점점 없어지고 있었다. 창영이는 맥주 전용 냉장 www.acmicpc.net 🔸 문제 분석 🔸 가로, 세로, 높이 세 수를 곱해서 n을 만들 때 가장 작은 겉넓이를 출력한다. 🔸 코드 🔸 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); long min = 987654321; int[] arr = new int[3]; for ..
👉 문제링크 2057번: 팩토리얼 분해 음 아닌 정수 N이 주어졌을 때, 이 수를 서로 다른 정수 M(M ≥ 1)개의 팩토리얼의 합으로 나타낼 수 있는지 알아내는 프로그램을 작성하시오. 예를 들어 2=0!+1!로 나타낼 수 있지만, 5는 이와 같은 www.acmicpc.net 🔸 문제 분석 🔸 팩토리얼의 조합으로 n을 만들 수 있는지 판단한다. n보다 작은 팩토리얼을 큰 수부터 n을 빼며 0을 만들 수 있는지 확인한다(그리디) 🔸 코드 🔸 fact = [0] * 20 fact[0] = 1 for i in range(1, 20): fact[i] = fact[i-1] * i n = int(input()) if n == 0: print("NO") else: for i in range(19, -1, -1): i..
👉 문제링크 3182번: 한동이는 공부가 하기 싫어! H-ALGO 회원인 한동이는 공부하는것을 좋아하지 않는다. 하지만 약삭빠르게도 한동이는 공부도 하지 않으면서 어려운 시험을 통과하고 싶어한다. 그러던 와중 어느 날, 한동이의 동기가 한동이에 www.acmicpc.net 🔸 문제 분석 🔸 n과 n개의 숫자를 입력받는다. 숫자는 다음 숫자의 인덱스 번호를 가리킨다. 몇 번째 숫자 인덱스에서 시작해야 가장 많은 숫자를 걸치는지 출력한다. 🔸 코드 🔸 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt();..
👉 문제링크 16173번: 점프왕 쩰리 (Small) 쩰리는 맨 왼쪽 위의 칸에서 출발해 (행, 열)로 나타낸 좌표계로, (1, 1) -> (2, 1) -> (3, 1) -> (3, 3)으로 이동해 게임에서 승리할 수 있다. www.acmicpc.net 🔸 문제 분석 🔸 n x n 크기의 게임판에서 왼쪽 위 (0,0)부터 탐색하며 오른쪽 아래 (n-1, n-1)에 도착할 수 있는지 결과를 출력한다. 현재 게임판 위치의 값만큼 오른쪽 혹은 아래쪽 한 방향으로 정확히 그 값만큼 움직일 수 있다. 판을 넘어가면 안된다. 🔸 코드 🔸 import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Main { p..
👉 문제링크 25643번: 문자열 탑 쌓기 인경이는 $N$개의 문자열을 쌓아서 문자열 탑을 완성하려고 한다. 탑을 완성하기 위해서는 모든 문자열을 아래에서부터 순서대로 쌓아 올려야 한다. 인경이는 문자열 탑의 꼭대기에 다음 순서의 www.acmicpc.net 🔸 문제 분석 🔸 새로 들어온 문자열이 이전 문자열에 결합이 되는지 확인하며 전부 결함 가능하면 1, 아니라면 0을 출력한다. 문자열 블록을 끼는 경우의 수는 3가지이다. 완전히 같은 문자열로 모든 칸을 끼움 새로 들어온 문자열 블록이 왼쪽으로 튀어나옴 새로 들어온 문자열 블록이 오른쪽으로 튀어나옴 두 문자열 블록의 겹치는 부분의 길이를 1부터 m까지 키워가며 결합이 되는 순간이 올 때까지 계산한다. 🔸 코드 🔸 n, m = map(int,input..