import java.util.*;
class Solution {
public String[] solution(String[] strings, int n) {
// 숫자 카드 게임
// 내코드
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
int [] arr = new int[n*m];
int answer = 0 ;
ArrayList<Integer> list = new ArrayList();
ArrayList<Integer> list2 = new ArrayList();
for(int i = 0 ; i < n*m ; i++) {
arr[i] = sc.nextInt();
list.add(arr[i]);
if ( (i+1) % 3 == 0) {
list.sort(null);
list2.add(list.get(0));
list.clear();
}
}
list2.sort(null);
answer = list2.get(list2.size()-1);
System.out.println(answer);
}
}
(1) 각 행의 한 줄씩 입력받아 배열과 리스트에 넣고 정렬 후 가장 작은 수를 두 번째 리스트에 저장 후 첫 번째 리스트는 초기화 -> 마지막 list2 정렬 후 마지막 가장 큰 수 출력했다.
import java.util.*;
class Solution {
public String[] solution(String[] strings, int n) {
int n = 1260;
int cnt = 0;
int[] coinTypes = {500, 100, 50, 10};
for (int i = 0; i < 4; i++) {
int coin = coinTypes[i];
cnt += n / coin;
n %= coin;
}
System.out.println(cnt);
}
}
(1) 2중 포문을 활용하여 각 행의 최소값을 구하고 result 변수에 저장 후 최소값중 가장 큰 값을 출력했다. 2중 포문을 활용해서 하는 것도 알아두자