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
- Binary Search
- Number Theory
- dynamic programming
- SQL
- Method
- hash table
- 자바
- geometry
- Data Structure
- two pointers
- implement
- Matrix
- Binary Tree
- greedy
- simulation
- 코딩테스트
- 코테
- 파이썬
- array
- database
- sorting
- Counting
- Class
- java
- bit manipulation
- Math
- Tree
- string
- 구현
- Stack
Archives
- Today
- Total
코린이의 소소한 공부노트
[LeetCode/Easy] 496. Next Greater Element I 본문
1. Input
1) int[] nums1
2) int[] nums2
2. Output
1) nums1[i]의 요소를 nums2에서 찾은 다음, 해당 요소의 오른쪽에 있는 nums2의 요소 중 nums1[i]보다 큰 첫 번째 요소를 차례대로 담은 int[]
- 만약 nums2에서 nums1[i]보다 큰 요소를 찾지 못했다면 -1을 저장한다.
3. Constraint
4. Example
Input: nums1 = [4,1,2], nums2 = [1,3,4,2] -> Output: [-1,3,-1]
설명:
- nums1[0]==4 -> nums2[2]==4 -> nums2에서 index>2 인 요소 중 4보다 큰 요소가 없으므로 -1을 저장
- nums1[1]==1 -> nums2[0]==1 -> nums2에서 index>0 인 요소 중 1보다 큰 첫 번째 요소는 3이므로 3을 저장
- nums1[2]==2 -> nums2[3]==2 -> nums2에서 index>3 인 요소는 없으므로 -1을 저장
5. Code
1) 첫 코드(2023/02/26)
int[] answer = new int[nums1.length];
for(int i=0 ; i<nums1.length ; i++){
for(int j=0 ; j<nums2.length ; j++){
if(nums2[j]==nums1[i]){
answer[i] = j; break;
}
}
boolean find = false;
for(int j=answer[i]+1 ; j<nums2.length ; j++){
if(nums2[j]>nums1[i]){
find = true; answer[i] = nums2[j]; break;
}
}
if(!find) answer[i] = -1;
}
return answer;
- 스택을 이용하는 방법은 잘 모르겠다.
'코딩테스트 풀이 > JAVA' 카테고리의 다른 글
[LeetCode/Medium] 503. Next Greater Element II (0) | 2023.02.27 |
---|---|
[LeetCode/Easy] 2574. Left and Right Sum Differences (0) | 2023.02.27 |
[LeetCode/Easy] 492. Construct the Rectangle (0) | 2023.02.26 |
[프로그래머스/Lv.1] 대충 만든 자판 (0) | 2023.02.23 |
[프로그래머스/Lv.2] 행렬의 곱셈 (0) | 2023.02.22 |