LeetCode 문제 풀이
[LeetCode] 228번 문제를 풀어보았다. (ft. java)
pantrom
2022. 2. 28. 19:54
2022년 02월 28일 월요일 - 이번주는 금요일만 존재한다!!
오늘 올려볼 문제는 228번 Summary Ranges 이라는 문제이다.
사진을 클릭하면 해당 문제로 이동합니다.
오늘도 LeetCode 사이트 오늘의 문제를 가지고 왔다.
자동화되어서 올라가는 포스트... 살짝 맘에 안들지만... 뭐 편하니깐
입력
사진에서도 볼 수 있듯이 int 배열 하나가 입력으로 들어온다.
풀이 및 코드
정렬된 배열 중 이어져있는 배열들의 범위들을 리턴하는 문제다. (말로 설명하기 힘들다... 문제를 참고해주시길..)
오늘은 처음부터 정답을 생각해냈다.
그냥 직관적으로 풀면 풀린다.
이제 코드를 봐보자!
풀이코드
class Solution {
public List<String> summaryRanges(int[] nums) {
List<String> result = new ArrayList<String>();
int first = -1, last = -1;
boolean flag = true;
if(nums.length == 0)
{
return result;
}
for(int i = 0; i < nums.length; i++)
{
if(flag)
{
first = nums[i];
last = nums[i];
flag = false;
continue;
}
if(nums[i] - 1 == nums[i - 1])
{
last = nums[i];
}
else
{
if(first == last)
{
result.add(Integer.toString(first));
}
else
{
result.add(first + "->" + last);
}
flag = true;
i--;
}
}
if(first == last)
{
result.add(Integer.toString(first));
}
else
{
result.add(first + "->" + last);
}
return result;
}
}
제출 화면
오늘은 문제가 쉬워서 금방 풀었다.
원래 주의 시작은 문제가 쉬웠고 토요일이 항상 어려웠는데... 이번주도 그럴거 같아서 벌써 긴장이된다..
내일도 문제를 풀어서 블로그에 글을 쓸 수 있으면 좋겠다.