숫자 카드 게임 [그리디 알고리즘]

그리디 알고리즘 실전 문제

큰 수의 법칙

🐾 문제 설명

동빈이의 큰 수의 법칙은 다양한 수로 이루어진 배열이 있을 때 주어진 수들을 M번 더하여 가장 큰 수를 만드는 법칙이다.
단, 배열의 특정한 인덱스에 해당하는 수가 연속해서 K번을 초과하여는 더해질 수 없는 것이 이 법칙의 특징이다.
배열의 크기 N, 숫자가 더해지는 횟수 M과 최대 연속 덧셈 가능 횟수 K가 주어지고, 배열의 N개의 숫자가 주어질 때 동빈이의 큰 수의 법칙에 따른 결과를 출력하는 문제이다.

🐾 입출력 예시

  • 입력
    5 8 3
    2 4 5 4 6
  • 출력
    46

🐾 내 풀이

N, M = map(int, input().split())

max = 0
for i in range(N):
    min = 100
    tmp = list(map(int, input().split()))
    for i in tmp:
        if min > i:
            min = i
    if max < min:
        max = min

print(max)

각 행에서의 최소값을 찾고, 이들 가운데 최대값을 찾아 출력한다.

🐾 답안 예시

< 이것이 취업을 위한 코딩 테스트다 with 파이썬 > 답안 예시

n, m = map(int, input().split())

result = 0
for i in range(n):
	data = list(map(int, input().split()))
    min_value = min(data)
    result = max(result, min_value)
    
print(result)

참고자료
이것이 취업을 위한 코딩 테스트다 with 파이썬 - 나동빈

좋은 웹페이지 즐겨찾기