2022년 06월 25일 토요일 - 와 너무 오랜만에 올린다
오늘 올려볼 문제는 665번 Non-decreasing Array 이라는 문제이다.
사진을 클릭하면 해당 문제로 이동합니다.
오늘도 LeetCode 사이트 오늘의 문제를 가지고 왔다.
요즘 스터디 준비도 있고 문제가 어려운 것도 있고 해서 오랜만에 올린다!
입력
사진에서도 볼 수 있듯이 int 배열 1개가 입력으로 들어온다.
풀이 및 코드
원소를 최대 1개만 수정해서 non-decreasing 배열을 만들 수 있는지 판단하는 문제이다.
오늘은 처음부터 정답을 생각해냈다.
배열을 순회하면서 non-decreasing이 아닐 때 원소를 수정하고 다시 순회해서 판단하는 방식으로 문제를 풀었다.
이제 코드를 봐보자!
풀이코드
class Solution {
public boolean checkPossibility(int[] nums) {
if(nums.length <= 2) return true;
boolean flag = false;
for(int i = 1; i < nums.length; i++)
{
if(nums[i - 1] > nums[i])
{
if(i == nums.length - 1) return true;
if(nums[i - 1] < nums[i + 1])
{
nums[i] = nums[i - 1];
}
else
{
nums[i - 1] = nums[i];
}
break;
}
}
for(int i = 1; i < nums.length; i++)
{
if(nums[i - 1] > nums[i])
{
return false;
}
}
return true;
}
}
제출 화면
요즘 개인 프로젝트하랴 스터디 준비하랴 바쁜 나머지 알고리즘을 손놓고 있었던 것 같다.
또 자동화 프로그램을 윈도우 종속적으로 만든것도 어느정도 블로그를 안올리게 되는 것도 있는 것 같다.
그래도 열심히 풀어야지!!
내일도 문제를 풀어서 블로그에 글을 쓸 수 있으면 좋겠다.
'LeetCode 문제 풀이' 카테고리의 다른 글
[LeetCode] 62번 문제를 풀어보았다. (ft. java) (0) | 2022.08.01 |
---|---|
[LeetCode] 1647번 문제를 풀어보았다. (ft. java) (0) | 2022.06.28 |
[LeetCode] 5번 문제를 풀어보았다. (ft. java) (0) | 2022.06.16 |
[LeetCode] 120번 문제를 풀어보았다. (ft. java) (0) | 2022.06.13 |
[LeetCode] 1695번 문제를 풀어보았다. (ft. java) (0) | 2022.06.12 |