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
- string
- dynamic programming
- Number Theory
- 코테
- two pointers
- SQL
- sorting
- database
- Binary Tree
- 자바
- Binary Search
- simulation
- 구현
- Data Structure
- 파이썬
- implement
- Method
- 코딩테스트
- Matrix
- array
- bit manipulation
- Tree
- geometry
- Class
- Stack
- hash table
- greedy
- Counting
- java
- Math
Archives
- Today
- Total
코린이의 소소한 공부노트
[LeetCode/Easy] 896. Monotonic Array 본문
1. Input
1) int 배열 nums
2. Output
1) nums의 요소가 계속 감소하거나 계속 증가하면 true를, 아니면 false를 반환
2) 계속 증가한다는 것은 모든 i <= j에 대해 nums[i] <= nums[j]라는 것이고, 계속 감소한다는 것은 모든 i <= j에 대해 nums[i] >= nums[j]라는 것이다.
3. Constraint
1) 1 <= nums.length <= 10^5
2) - 10^5 <= nums[i] <= 10^5
4. Example
Input: nums = [1,3,2] -> Output: false
Input: nums = [6,5,4,4] -> Output: true
5. Code
1) 첫 코드(2022/07/11)
boolean answer = true;
if(nums.length == 1)
return answer;
if(nums[0]<nums[1]){
for(int i=1 ; i<nums.length-1 ; i++)
if(nums[i]>nums[i+1]){
answer = false;
break;
}
}else if(nums[0]==nums[1]){
int index = 0;
for(int i=1 ; i<nums.length-1 ; i++)
if(nums[i]!=nums[i+1]){
index = i;
break;
}
if(nums[index]>nums[index+1]){
for(int i=index+1 ; i<nums.length-1 ; i++)
if(nums[i]<nums[i+1]){
answer = false;
break;
}
} else{
for(int i=index+1 ; i<nums.length-1 ; i++)
if(nums[i]>nums[i+1]){
answer = false;
break;
}
}
} else{
for(int i=1 ; i<nums.length-1 ; i++)
if(nums[i]<nums[i+1]){
answer = false;
break;
}
}
return answer;
2) 다시 풀어본 코드(2022/12/10)
boolean answer = true;
if(nums[0] - nums[nums.length-1] < 0){
for(int i=0 ; i<nums.length-1 ; i++)
if(nums[i]>nums[i+1]){
answer = false ; break;
}
} else{
for(int i=0 ; i<nums.length-1 ; i++)
if(nums[i]<nums[i+1]){
answer = false ; break;
}
}
return answer;
- 1번보다 훨씬 간결하면서도 빠르고, 공간절약도 많이 된다.
'코딩테스트 풀이 > JAVA' 카테고리의 다른 글
[LeetCode/Easy] 922. Sort Array By Parity II (0) | 2022.12.10 |
---|---|
[LeetCode/Easy] 905. Sort Array By Parity (0) | 2022.12.10 |
[LeetCode/Easy] 883. Projection Area of 3D Shapes (0) | 2022.12.09 |
[LeetCode/Easy] 867. Transpose Matrix (0) | 2022.12.08 |
[LeetCode/Easy] 860. Lemonade Change (0) | 2022.12.08 |