못푼문제

Sorbet·2021년 6월 16일
0

https://leetcode.com/problems/lucky-numbers-in-a-matrix/

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Solution {
    public List<Integer> luckyNumbers(int[][] matrix) {
        int lucky = 0;
        List<Integer> minOfRow = new ArrayList<Integer>();
        List<Integer> maxOfCol = new ArrayList<Integer>();
        for (int i = 0; i < matrix.length; i++) {
            int mini = Integer.MAX_VALUE;
            for (int j = 0; j < matrix[0].length; j++) {
                mini = Math.min(mini, matrix[i][j]);
            }
            minOfRow.add(mini);

            int maxi = 0;
            for (int j = 0; j < matrix[0].length; j++) {
                maxi = Math.max(maxi, matrix[j][i]);
            }
            maxOfCol.add(maxi);
        } 

        

        // 로우 열  ㅡ
        // 행 컬 |
        // 아 혹시 행의 최소 따로 구하고 열의 최소 따로 구해서 매칭해뵈야 하니???


        List<Integer> answer = new ArrayList<Integer>();

        Collections.sort(minOfRow);
        Collections.sort(maxOfCol);

        int temp = minOfRow.get(minOfRow.size() - 1);
        if (temp == maxOfCol.get(0)) {
            answer.add(temp);
        }

        return answer;
    }


    public static void main(String[] args) {
        tester(new int[][]{{36376, 85652, 21002, 4510}, {68246, 64237, 42962, 9974}, {32768, 97721, 47338, 5841}, {55103, 18179, 79062, 46542}});
        tester(new int[][]{{56216}, {63251}, {75772}, {1945}, {27014}});
    }

    private static void tester(int[][] mat) {
        Solution s = new Solution();
        List<Integer> ret = s.luckyNumbers(mat);
        System.out.println(ret.toString());
    }
}
profile
Sorbet is good...!

0개의 댓글