다양한 수로 이루어진 배열이 있을 때, 주어진 수들을 M번 더하여 가장 큰 수를 만드는 법칙
배열의 특정한 인덱스에 해당하는 수가 연속해서 K번을 초과하여 더해질 수 없다
N, M, K = map(int, input(). split())
nums = [int(n) for n in input().split()]
nums.sort(reverse=True)
sum = 0
while(True):
for k in range(K):
if M == 0:
print(sum)
break
sum = sum + nums[0]
M = M - 1
if M == 0:
print(sum)
break
sum = sum + nums[1]
M = M - 1
여러 개의 숫자 카드 중에서 가장 높은 숫자가 쓰인 카드 한 장을 뽑는 게임
룰: 카드는 N X M 형태로 놓여 있다. 이 때 N은 행, M은 열 / 뽑고자 하는 카드가 포함되어 있는 행을 선택 / 그다음 행에 포함된 카드들 중 가장 숫자가 낮은 카드 뽑기
N, M = map(int, input().split())
max_ = 1
for n in range(N):
li = [int(k) for k in input().split()]
min_ = min(li)
max_ = max(max_, min_)
print(max_)
어떠한 수 N이 1이 될 때까지 N에서 1을 빼거나, N을 K로 나눈다(나누어 떨어질 때만)
최소한의 반복 회수 구하기
N, K = map(int, input().split())
count = 0
while True:
while N % K == 0 and N != 1:
N = N / K
count = count + 1
if N == 1:
print(count)
break
N = N - 1
count = count + 1