목록CodingTest/이코테 연습문제 (2)
모눈종이에 사각사각
🍎 개미 전사 🏀 문제 (문제 요약) 개미 전사는 부족한 식량을 충당하고자 메뚜기 마을의 식량창고를 몰래 공격하려고 한다. 식량 창고는 일직선으로 이어져 있다. 개미 전사는 식량창고를 선택적으로 약탈할 것이다. 인접한 식량 창고가 공격을 받으면 메뚜기 정찰병들에게 들킨다. 개미 전사는 정찰병에게 들키지 않고 최대한 많은 식량을 얻기를 원한다. ⚾ 코드 n = int(input()) store = list(map(int, input().split())) dp = [0]*n dp[0] = store[0] dp[1] = max(store[0], store[1]) for i in range(2, n): dp[i] = max(dp[i-1], dp[i-2]+store[i]) print(dp[n-1]) 🔔 해결 과정..
🍎 1로 만들기 🏀 문제 정수 X가 주어질 때 정수 X에 사용할 수 있는 연산은 다음과 같이 4가지 이다. a. X가 5로 나누어 떨어지면, 5로 나눈다. b. X가 3으로 나누어 떨어지면, 3로 나눈다. c. X가 2로 나누어 떨어지면, 2로 나눈다. 정수 X가 주어졌을 때, 연산 4개를 적절히 사용해서 1을 만들려고 한다. 연산을 사용하는 횟수의 최솟값을 출력하시오. ⚾ 코드 num = int(input()) INF = 1e9 dp = [INF] * (num+1) for i in range(2, num+1): if i == 1: dp[i] = 0 elif i == 2 or i == 3 or i == 5: dp[i] = 1 else: if i % 2 == 0: dp[i] = min(dp[i], dp[i..