숫자 카드 게임은 여러 개의 숫자 카드 중에서 가장 높은 숫자가 쓰인 카드 한 장을 뽑는 게임이다.
단, 게임의 룰을 지키며 카드를 뽑아야 하고 룰은 다음과 같다.
여기서 카드를 골라낼 행을 고를 때 첫 번째 혹은 두 번째 행을 선택하는 경우, 최종적으로 뽑는 카드는 1이다. 하지만 세 번째 행을 선택하는 경우 최종적으로 뽑는 카드는 2이다. 따라서 이 예제에서는 세 번째 행을 선택하여 숫자 2가 쓰여진 카드를 뽑는 것이 정답이다.
카드들이 N X M 형태로 놓여 있을 때, 게임의 룰에 맞게 카드를 뽑는 프로그램을 만드시오.
3 3
3 1 2
4 1 4
2 2 2
2
2 4
7 3 1 8
3 3 3 4
3
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
/* 숫자 카드 게임 */
public class greedy_03 {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int n = Integer.parseInt(st.nextToken());
int max = 1;
for (int i = 0; i < n; i++) {
StringTokenizer stz = new StringTokenizer(br.readLine(), " ");
int min = 10001;
// 현재 행의 최솟값 탐색
while (stz.hasMoreTokens()) {
int temp = Integer.parseInt(stz.nextToken());
min = Math.min(min, temp);
}
// 현재 행과 현재 최댓값 비교
max = Math.max(max, min);
}
System.out.println(max);
}
}