2022년 03월 27일 일요일 - 오느른 데이뚜
오늘 올려볼 문제는 1337번 The K Weakest Rows in a Matrix 이라는 문제이다.
사진을 클릭하면 해당 문제로 이동합니다.
오늘도 LeetCode 사이트 오늘의 문제를 가지고 왔다.
오늘 문제도 쉽구만
입력
사진에서도 볼 수 있듯이 2차원 int 배열과 int 값 하나가 입력으로 들어온다.
풀이 및 코드
각 2차원 배열의 row 중 1의 개수가 적은 row 들부터, index가 더 작은 row 들부터 길이가 k인 배열에 index를 담아 리턴하는 문제다.
오늘은 처음부터 정답을 생각해냈다.
pair 클래스를 만들고 comparator를 구현해서 문제를 풀었다.
이제 코드를 봐보자!
풀이코드
class Solution {
public int[] kWeakestRows(int[][] mat, int k) {
pair[] arr = new pair[mat.length];
int[] result = new int[k];
for(int i = 0; i < mat.length; i++)
{
int sum = 0;
for(int num : mat[i]) sum += num;
arr[i] = new pair(sum, i);
}
Arrays.sort(arr, (p1, p2) -> {return p1.val == p2.val ? p1.index - p2.index : p1.val - p2.val;});
for(int i = 0; i < k; i++)
result[i] = arr[i].index;
return result;
}
}
class pair
{
int val, index;
public pair(int val, int index)
{
this.val = val;
this.index = index;
}
}
제출 화면
어제 오늘 문제가 너무 쉬운것 같다.
내일 문제는 좀 어려우면서 재밌는 문제가 나왔으면 좋겠다.
내일도 문제를 풀어서 블로그에 글을 쓸 수 있으면 좋겠다.
'LeetCode 문제 풀이' 카테고리의 다른 글
[LeetCode] 287번 문제를 풀어보았다. (ft. java) (0) | 2022.03.29 |
---|---|
[LeetCode] 81번 문제를 풀어보았다. (ft. java) (0) | 2022.03.28 |
[LeetCode] 704번 문제를 풀어보았다. (ft. java) (0) | 2022.03.26 |
[LeetCode] 1029번 문제를 풀어보았다. (ft. java) (0) | 2022.03.25 |
[LeetCode] 881번 문제를 풀어보았다. (ft. java) (1) | 2022.03.24 |