Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- SQL
- Class
- string
- dynamic programming
- 코딩테스트
- 코테
- array
- 파이썬
- Method
- Binary Tree
- database
- hash table
- 구현
- 자바
- simulation
- geometry
- Counting
- Matrix
- Number Theory
- Data Structure
- two pointers
- java
- bit manipulation
- Binary Search
- implement
- Math
- sorting
- Tree
- Stack
- greedy
Archives
- Today
- Total
코린이의 소소한 공부노트
[LeetCode/Easy] 2570. Merge Two 2D Arrays by Summing Values 본문
1. Input
1) int[][] nums1
2) int[][] nums2
- 두 배열의 요소는 [id, val] 형식으로, val은 id의 가치를 나타낸다.
2. Output
1) nums1과 nums2를 다음과 같이 합친 결과를 반환
- id가 같은 것이 두 배열에 있다면 가치를 합한다.
- 결과 배열은 id를 기준으로 오름차순으로 정렬한다.
- 없는 id는 고려하지 않는다.
3. Constraint
1) 1 <= nums1.length, nums2.length <= 200
2) nums1[i].length == nums2[j].length == 2
3) 1 <= id, val <= 1000
4) 각 배열 내에는 중복된 id가 없다.
5) 두 배열 모두 id를 기준으로 오름차순으로 정렬되어 있다.
4. Example
Input: nums1 = [[1,2],[2,3],[4,5]], nums2 = [[1,4],[3,2],[4,1]] -> Output: [[1,6],[2,3],[3,2],[4,6]]
설명:
- id = 1, 2 + 4 = 6
- id = 2, 3 + 0 = 3
- id = 3, 0 + 2 = 2
- id = 4, 5 + 1 = 6
5. Code
1) 첫 코드(2023/05/06)
class Solution {
public int[][] mergeArrays(int[][] nums1, int[][] nums2) {
HashMap<Integer,Integer> m = new HashMap<>();
for(int i=0 ; i<nums1.length ; i++)
m.put(nums1[i][0], m.getOrDefault(nums1[i][0],0)+nums1[i][1]);
for(int i=0 ; i<nums2.length ; i++)
m.put(nums2[i][0], m.getOrDefault(nums2[i][0],0)+nums2[i][1]);
List<Integer> list = new ArrayList<Integer>(m.keySet());
list.sort(Comparator.naturalOrder());
int[][] answer = new int[list.size()][2];
for(int i=0 ; i<answer.length ; i++){
answer[i][0] = list.get(i);
answer[i][1] = m.get(list.get(i));
}
return answer;
}
}
'코딩테스트 풀이 > JAVA' 카테고리의 다른 글
[LeetCode/Easy] 2605. Form Smallest Number From Two Digit Arrays (0) | 2023.05.06 |
---|---|
[LeetCode/Easy] 2582. Pass the Pillow (0) | 2023.05.06 |
[LeetCode/Easy] 2549. Count Distinct Numbers on Board (0) | 2023.05.06 |
[LeetCode/Easy] 2540. Minimum Common Value (0) | 2023.05.06 |
[LeetCode/Easy] 2520. Count the Digits That Divide a Number (0) | 2023.05.06 |