숫자 카드 게임은 여러 개의 숫자 카드 중에서 가장 높은 숫자가 쓰인 카드 한 장을 뽑는 게임이다.
단, 게임의 룰을 지키며 카드를 뽑아야 하고 룰은 다음과 같다.
예를 들어 3 X 3 형태로 카드들이 다음과 같이 놓여 있다고 가정하자.
3 1 2
4 1 4
2 2 2
여기서 카드를 골라낼 행을 고를 때 첫 번째 혹은 두 번째 행을 선택하는 경우, 최종적으로 뽑는 카드는 1이다. 하지만 세 번째 행을 선택하는 경우 최종적으로 뽑는 카드는 2이다. 따라서 이 예제에서는 세 번째 행을 선택하여 숫자 2가 쓰여진 카드를 뽑는 것이 정답이다.
카드들이 N x M 형태로 놓여 있을 때, 게임의 룰에 맞게 카드를 뽑는 프로그램을 만드시오.
3 3
3 1 2
4 1 4
2 2 2
2
처음에 문제 이해가 잘 안됐다 ... 가장 낮은 카드를 뽑을 것을 고려하여 .. 어쩌고 최종적으로 가장 높은..
한 문장으로 요약하면,
내가 뽑을 카드가 속해있는 행 선택.
-> 내가 뽑을 카드는 해당 행에서 가장 작은 수여야 함.
-> but 행마다 가장 작은 숫자들을 모았을 때는 내가 뽑을 카드가 가장 큰 숫자여야 함.
조금 복잡하지만, 더 더 요약하면,
그냥 행마다 Min 카드 뽑고 그 중에서 Max 카드 선택하면 됨.
- 행마다 가장 작은 숫자 카드 선택
- 그 중에서 가장 큰 숫자 카드 선택
n, m = map(int, input().split())
answer = 0
for i in range(n):
array = list(map(int, input().split()))
answer = max(min(array), answer)
print(answer)