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
- java
- array
- Method
- Stack
- 코딩테스트
- geometry
- implement
- Matrix
- hash table
- Counting
- 파이썬
- SQL
- Class
- string
- Binary Search
- greedy
- Tree
- Data Structure
- sorting
- two pointers
- dynamic programming
- 구현
- simulation
- 코테
- Binary Tree
- database
- bit manipulation
- 자바
- Math
- Number Theory
Archives
- Today
- Total
코린이의 소소한 공부노트
[LeetCode/Easy] 1725. Number Of Rectangles That Can Form The Largest Square 본문
코딩테스트 풀이/JAVA
[LeetCode/Easy] 1725. Number Of Rectangles That Can Form The Largest Square
무지맘 2023. 1. 2. 23:391. Input
1) 직사각형의 세로, 가로가 차례로 담긴 2차원 배열 rectangles
2. Output
1) 각 직사각형을 제일 큰 정사각형으로 잘랐을 때 한 변의 길이를 x라고 하면, 한 변의 길이가 x인 정사각형을 만들 수 있는 직사각형의 개수를 반환
3. Constraint
1) 1 <= rectangles.length <= 1000
2) rectangles[i].length == 2
3) 1 <= 세로, 가로 <= 109
4) 세로 != 가로
4. Example
Input: rectangles = [[5,8],[3,9],[5,12],[16,5]] -> Output: 3
설명:
- 각각의 직사각형을 가장 큰 정사각형으로 잘랐을 때 한 변의 길이는 [5, 3, 5, 5]이므로 x==5이고, 한 변의 길이가 5인 정사각형을 만들 수 있는 직사각형은 3개가 있으므로 3을 반환한다.
5. Code
1) 첫 코드(2022/06/14)
import java.util.*;
if(rectangles.length == 1)
return 1;
int[] lens = new int[rectangles.length];
for(int i=0 ; i<rectangles.length ; i++)
lens[i] = Math.min(rectangles[i][0], rectangles[i][1]);
Arrays.sort(lens);
int count = 1;
int maxLen = lens[lens.length-1];
for(int i=lens.length-2 ; i>=1 ; i--){
if(lens[i] == maxLen) count++;
else break;
}
return count;
'코딩테스트 풀이 > JAVA' 카테고리의 다른 글
[LeetCode/Easy] 1742. Maximum Number of Balls in a Box (0) | 2023.01.03 |
---|---|
[LeetCode/Easy] 1732. Find the Highest Altitude (0) | 2023.01.02 |
[LeetCode/Easy] 1720. Decode XORed Array (0) | 2023.01.02 |
[LeetCode/Easy] 1716. Calculate Money in Leetcode Bank (0) | 2023.01.02 |
[LeetCode/Easy] 976. Largest Perimeter Triangle (0) | 2023.01.02 |