숫자 카드 게임 ( 2019 국가 교육기관 코딩 테스트 )
1. 문제 설명 여러 개의 숫자 카드가 주어질 때, 다음 조건을 만족하면서 가장 높은 숫자가 쓰인 카드 한 장을 뽑는 게임이다. - 숫자가 쓰인 카드가 N * M 형태로 존재하며, N은 행의 개수, M은 열의 개수를 의미한다. - 뽑을 카드가 있는 행을 선택한다. - 선택된 행에 포함된 카드 중 가장 숫자가 낮은 카드를 뽑는다. - 여러 행을 선택 하고, 위의 조건에 따라 낮은 카드를 또 가져온다. 그 중 가장 큰 숫자의 카드를 뽑는다. 예를 들어, 3, 1, 2 4, 2, 1 5, 3, 3 순서의 3 * 3 형태의 카드 배열이 있다고 존재하면, 1 째 행은 가장 낮은 숫자의 카드는 1, 2 째 행의 가장 낮은 숫자 카드는 1, 마지막 3 째 행의 가장 낮은 숫자 카드는 3 이다. 여기서 가장 큰 숫자의..
큰 수의 법칙 ( 2019 국가 교육기관 코딩 테스트 )
1. 문제 설명 특정한 배열이 있다. 주어진 규칙은 M번을 더하여 가장 큰 숫자를 만드는 것이고, 이 때 같은 인덱스에 해당하는 숫자를 최대 K번 까지만 반복하여 더할 수 있다고 한다. 예를 들어 배열 [ 2, 5, 4, 3, 2 ] 가 주어지고, M = 8, K = 3 이라고 주어지면, 8번을 더해 가장 큰 숫자를 만드는 경우이다. 이 때 최대 3번의 반복만큼 하나의 인덱스 숫자에 대해 덧셈이 허용된다. 즉, 5 + 5 + 5 + 4 + 5 + 5 + 5 + 4 = 38 이 가장 큰 숫자가 된다. 반면, 배열 [ 3, 5, 3, 5, 3 ] 이 주어지고, 같은 K, M이 주어질 때 가장 큰 숫자는 다음과 같다. ( 5 + 5 + 5 ) + ( 5 + 5 + 5 ) + 5 + 5 = 40 이 가장 큰 숫..