2022년 2월 24일 목요일 - 와우 피곤한걸?
오늘 올려볼 문제는 148번 Sort List 이라는 문제이다.
사진을 클릭하면 해당 문제로 이동합니다.
오늘도 LeetCode 사이트 오늘의 문제를 가지고 왔다.
메모리 O(1)로 푸는건 너무 귀찮아서 걍 O(N)으로 품ㅋㅋㅋ
입력
사진에서도 볼 수 있듯이 리스트 하나가 입력으로 들어온다.
풀이 및 코드
주어진 리스트를 정렬하고 리턴하는 문제이다.
오늘은 처음부터 정답을 생각해냈다.
리스트로부터 모든 값을 뽑아서 ArrayList에 저장하고 정렬한다.
그리고 이를 다시 리스트로 만드는 식으로 구현했다.
이제 코드를 봐보자!
class Solution {
public ListNode sortList(ListNode head) {
ArrayList<Integer> arr = new ArrayList<Integer>();
if(head == null)
return head;
while(head != null)
{
arr.add(head.val);
head = head.next;
}
Collections.sort(arr);
ListNode root = new ListNode();
ListNode result = root;
for(int i = 0; i < arr.size(); i++)
{
ListNode temp = new ListNode();
root.next = temp;
root = temp;
root.val = arr.get(i);
}
return result.next;
}
}
제출 화면
오늘은 더 까다롭게 풀 수 있는 문제였지만 그냥 편하게 풀었다.
사실 귀찮지만 않았다면 시도했을 것이다.
내일도 문제를 풀어서 블로그에 글을 쓸 수 있으면 좋겠다.
'LeetCode 문제 풀이' 카테고리의 다른 글
[LeetCode] 662번 문제를 풀어보았다. (ft. java) (0) | 2022.02.27 |
---|---|
[LeetCode] 165번 문제를 풀어보았다. (ft. java) (1) | 2022.02.26 |
[LeetCode] 133번 문제를 풀어보았다. (ft. java) (1) | 2022.02.23 |
[LeetCode] 171번 문제를 풀어보았다. (ft. java) (0) | 2022.02.22 |
[LeetCode] 169번 문제를 풀어보았다. (ft. java) (0) | 2022.02.21 |