2022년 05월 03일 화요일 - 오늘은 마치 목요일~
오늘 올려볼 문제는 581번 Shortest Unsorted Continuous Subarray 이라는 문제이다.
사진을 클릭하면 해당 문제로 이동합니다.
오늘도 LeetCode 사이트 오늘의 문제를 가지고 왔다.
너무 꼼수로 풀긴 했어...
입력
사진에서도 볼 수 있듯이 int 배열 1개가 입력으로 들어온다.
풀이 및 코드
배열 중 정렬하면 모든 배열이 정렬되는 상태가 되는 subarray중 가장 짧은 것의 길이를 구하는 문제다.
오늘은 처음부터 정답을 생각해냈다.
조금 많이 꼼수이긴 하지만 배열을 정렬하고 원래 주어진 배열과 다른 부분을 찾아서 문제를 풀었다.
이제 코드를 봐보자!
풀이코드
class Solution {
public int findUnsortedSubarray(int[] nums) {
int[] sorted = nums.clone();
Arrays.sort(sorted);
int left = 100000, right = -1;
for(int i = 0; i < nums.length; i++)
{
if(nums[i] != sorted[i])
{
left = i;
break;
}
}
for(int i = nums.length - 1; i >= 0; i--)
{
if(nums[i] != sorted[i])
{
right = i;
break;
}
}
if(right <= left) return 0;
return right - left + 1;
}
}
제출 화면
사실 leetcode가 관대해서 그렇지 보통 다른 곳에서는 time limit exceed를 뜨게해줄만한 코드다.
내일은 정석적으로 섹시하게 풀 수 있었으면 좋겠다.
내일도 문제를 풀어서 블로그에 글을 쓸 수 있으면 좋겠다.
'LeetCode 문제 풀이' 카테고리의 다른 글
[LeetCode] 341번 문제를 풀어보았다. (ft. java) (0) | 2022.05.08 |
---|---|
[LeetCode] 1679번 문제를 풀어보았다. (ft. java) (0) | 2022.05.04 |
[LeetCode] 905번 문제를 풀어보았다. (ft. java) (0) | 2022.05.02 |
[LeetCode] 844번 문제를 풀어보았다. (ft. java) (0) | 2022.05.01 |
[LeetCode] 785번 문제를 풀어보았다. (ft. java) (0) | 2022.04.30 |