Algorithm/Algorithm Concepts
[ 이것이 코딩테스트다 ] 숫자 카드 게임 - 그리디 알고리즘
leecrossun
2021. 3. 26. 22:16
![]() |
|
" 문제 "
숫자 카드 게임은 여러 개의 숫자 카드 중에서 가장 높은 숫자가 쓰인 카드 한 장을 뽑는 게임이다. 단, 게임의 룰을 지키며 카드를 뽑아야 하고 룰은 다음과 같다.
|
카드들이 N x M 형태로 놓여 있을 때, 게임의 룰에 맞게 카드를 뽑는 프로그램을 만드시오.
<입력 조건>
첫째 줄에 숫자 카드들이 놓인 행의 개수 N과 열의 개수 M이 공백을 기준으로 하여 각각 자연수로 주어진다.
(1 <= N,M<= 100)
둘째 줄부터 N개의 줄에 걸쳐 각 카드에 적힌 숫자가 주어진다.
각 숫자는 1 이상 10,000 이하의 자연수이다.
<출력 조건>
첫째 줄에 게임의 룰에 맞게 선택한 카드에 적힌 숫자를 출력한다.
" 아이디어 "
가장 쉽게 생각할 수 있는 아이디어는
각 행(row) 에서 min() 을 이용해 가장 작은 수들을 추출한 후,
그 수들중에 가장 큰 수를 고르는 방식이다.
즉, 가장 작은 수들 중 가장 큰 수를 선택하는 것이다.
" 코드 "
1
2
3
4
5
6
7
8
9
10
|
n, m = map(int, input().split())
result = 0
for i in range(n):
arr = list(map(int, input().split()))
n = min(arr)
if n > result:
result = n
print(n)
|
cs |
" 참고자료 "
반응형