Cooper's devlog

[TIL] 2021.01.13 본문

TIL

[TIL] 2021.01.13

cooper_dev 2021. 1. 13. 17:11

Good

[LeetCode에서 알고리즘 풀기]

 오늘은 알고리즘 데이다. 총 6문제가 주어졌다. 문제들을 보면서 이전의 미션 내용을 염두하고 출하신 것 같다는 느낌을 받았다. 이번 주 문제 사이트는 LeetCode 이다. LeetCode는 코코아 과정을 하면서 처음 접하게 된 외국 사이트이다. 개인적으로 백준보다 더 괜찮다고 생각한다.

 백준 알고리즘은 문제를 틀리면 어디가 잘못됐는지 효율이 얼마나 좋은지를 확인할 수 있는 기준이 없다. 하지만 LeetCode는 얼마나 효율적으로 작성했는지 전체 코드를 성공한 사람들 대비 어느정도의 성능인지를 확인할 수 있다.

그래서 효율적인 코드를 작성하기 위해 코드를 다시 한번 확인할 수 있는 동기부여를 주는 것 같다.

 

 문제를 풀면서 가장 기억에 남는 문제는 remove-dulicates-from-sorted-list 이다. 아까 이전 미션 내용을 염두하고 출제하셨다고 생각했던 문제다. 나는 이전 미션은 Doubly-Linked list로 구현해서 Singly-linked list를 이해할 수 있는 좋은 기회였다. 하지만 내가 이해하고 있던 개념과 달라서 알고리즘 문제 할애 시간의 절반을 이 문제에 쏟은 것 같다;

 문제를 해결했지만 어떨결에 문제를 맞췄다. 그래서 점심시간에 K에게 도움을 요청해 이해할 수 있었다.(God K...👍👏)

 

 그리고 linked list cyle 문제가 있었는데 간만에 HashSet를 사용해볼 수 있는 좋은 기회였다👍👍

 

[아래는 Remove duplicates from sorted list 코드와 이해한 것을 그림으로 정리했다.]


[코드]

class Solution {
    public ListNode deleteDuplicates(ListNode head) {
        if(head == null || head.next == null) {
            return head;
        }

        ListNode temp = head;

        while(!(temp == null || temp.next == null)) {
            if(temp.val == temp.next.val) {
                temp.next = temp.next.next;
            }else {
                temp = temp.next;
            }
        }

        return head;
    }
}

 

[그림]


 

Bad

  •  😬오늘 하루 정도는 없어도 괜찮잖아?!🙄

 

TIL

'TIL' 카테고리의 다른 글

[TIL] 2021.01.15  (0) 2021.01.17
[TIL]2021.01.14  (0) 2021.01.16
[TIL] 2021.01.12  (0) 2021.01.12
[TIL]2021.01.11  (0) 2021.01.12
[TIL] 2020.01.08  (0) 2021.01.09
Comments