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
- array
- Counting
- 구현
- Number Theory
- bit manipulation
- 코딩테스트
- hash table
- 파이썬
- Binary Search
- Binary Tree
- dynamic programming
- implement
- database
- 자바
- sorting
- string
- SQL
- Math
- Tree
- simulation
- 코테
- Matrix
- two pointers
- Class
- Method
- Stack
- geometry
- greedy
- Data Structure
- java
Archives
- Today
- Total
코린이의 소소한 공부노트
[LeetCode/Easy] 598. Range Addition II 본문
1. Input
1) 정수 m
2) 정수 n
3) 1씩 증가해야 하는 구간을 나라낸 2차원 배열 ops
2. Output
1) m행 n열의 2차원 배열의 요소가 모두 0일 때, ops에 따라 값을 증가시킨 후 그 배열에서 가장 큰 값이 몇 개인지 반환
2) ops[0] = {2,2}라면, 0행 0열의 요소를 기준으로 가로 2, 세로 2의 정사각형을 그렸을 때 그 안에 속하는 4개의 값(0행 0열, 0행 1열, 1행 0열, 1행 1열)을 전부 1씩 증가시켜야 한다.
3. Constraint
1) 1 <= m, n <= 4 * 104
2) 0 <= ops.length <= 104
3) ops[i].length == 2
4) 1 <= ai <= m
5) 1 <= bi <= n
4. Example
Input: m=3, n=3, ops={{2,2},{3,3}} -> Output: 4
설명: {2,2}에 속하는 4개의 값을 1씩 증가시키고, 그 다음 {3,3}에 속하는 9개의 값을 증가시키면 가장 큰 값은 2가 되고, 2는 4개가 있으므로 4를 반환한다.
5. Code
1) 첫 코드(2022/07/13)
if(ops.length==0)
return m*n;
int mr=ops[0][0], mc=ops[0][1];
for(int i=0 ; i<ops.length ; i++){
if(ops[i][0]<mr) mr = ops[i][0];
if(ops[i][1]<mc) mc = ops[i][1];
}
return mr*mc;
'코딩테스트 풀이 > JAVA' 카테고리의 다른 글
[LeetCode/Easy] 693. Binary Number with Alternating Bits (0) | 2022.12.05 |
---|---|
[LeetCode/Easy] 657. Robot Return to Origin (0) | 2022.12.04 |
[LeetCode/Easy] 566. Reshape the Matrix (0) | 2022.12.04 |
[프로그래머스/Lv.2] 점프와 순간 이동 (0) | 2022.12.02 |
[LeetCode/Easy] 27. Remove Element (0) | 2022.12.02 |