18429-근손실
2023. 1. 5. 13:55ㆍAlgorithm
오늘아침에 운동을 안해서 근손실이 날까 걱정하는 찰나에 문제 이름이 근손실이어서 풀어보게되었다.
아주 간단한 조합을 활용한 완전탐색 문제이다.
요즘 itertools를 연습하는데 맛들려서 오늘도 itertools의 permutation을 활용하여 조합을 도출하였다.
먼저 조합의 순서를 활용하기위해 index라는 리스트를 만들어서 순서를 리스트의 index를 조합으로 출력하였다.
flag는 0아래로 한번이라도 떨어지면 1이 되고, flag가 0일때만 경우의수를 추가하는 루프를 만들었다.
0 에서 매일 K만큼을 빼준다음에 index에 맞는 운동키트의 근육증가량을 더해주었을때 0보다 작게 된다면
flag를 1로 만들고 루프를 종료시킨다.
import sys
from itertools import permutations
#sys.stdin = open("/Users/positive/Desktop/무제 폴더/Algorithm/230105/18429in.txt","r")
input = sys.stdin.readline
N,K = map(int,input().split())
kit = list(map(int,input().split()))
index = []
for i in range(N):
index.append(i+1)
answer=0
for i in list(permutations(index)):
flag=0
sum = 0
for j in i:
sum -= K
sum += kit[j-1]
if sum < 0:
flag=1
break
if flag == 0:
answer +=1
print(answer)
'Algorithm' 카테고리의 다른 글
금광 - dp (2) | 2023.01.05 |
---|---|
15591-Mootube(시간초과) (0) | 2023.01.05 |
14494-다이나믹이 뭐에요? (0) | 2023.01.04 |
12865(평범한 배낭) - 실패 (0) | 2023.01.04 |
15686-치킨배달(파이썬) (0) | 2023.01.02 |