Algorithm/greedy
[알고리즘 문제] 숫자 카드 게임
낭강
2020. 10. 30. 20:54
- 오늘도 나동빈님의 서적에 나와있는 문제를 풀어보았습니다.
입력 예시1 3 3 3 1 2 4 1 4 2 2 2 출력 : 2 입력 예시2 2 4 7 3 1 8 3 3 3 4 출력 : 3 |
이 문제의 핵심은 각 행마다 가장 작은 수를 찾은 후, 그 중에서 가장 큰 수를 찾는 문제이다.
코드로 작성 해보았습니다.
#include<bits/stdc++.h> using namespace std; int arr[100][100]; int main() { int n, m,cmp=10001; cin >> n >> m; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { cin >> arr[i][j]; } } for (int i = 0; i < n; i++) { sort(arr[i], arr[i] + m); } for (int i = 0; i < n; i++) { if (cmp< arr[i][0]) { cmp = arr[i][0]; } } cout << cmp; } |
- 먼저, 2차원 배열에 입력 받은 후, 입력 받은 2차원 배열들의 행의 요소들 끼리 정렬합니다.
- 그 이후에 행끼리 정렬된 요소들을 비교하여 가장 큰 수를 출력합니다.