TIL

TIL_20230315

번잔중 2023. 3. 16. 00:01

오늘 할 일

  • LeetCode 데일리 문제 풀기
  • LG CNS 자기소개서 작성

오늘 배운 것

LeetCode 데일리 문제 풀기

  • 오늘의 문제: 958. Check Completeness of a Binary Tree(https://leetcode.com/problems/check-completeness-of-a-binary-tree/)
  • 문제 조건
    • 이진트리의 root가 주어지고, 완전 이진트리인지 확인해라
    • 완전 이진트리는 root부터 맨 마지막 노드까지 완전하게 채워져야 하고 마지막 깊이에 있는 모든 노드는 가능한 한 왼쪽에 위치한다.
    • 마지막 노드의 깊이가 h라고 할 때, 마지막 깊이에 있는 노드의 개수는 1~2^h개이다.​
  • 문제 해결 과정
    • bfs를 사용해서 푸는 문제이다.
    • 우선 bfs 돌면서 node의 left, right 값을 queue에 저장한다. node != null인 경우에만 queue에 left와 right 값을 추가해준다.
    • 완전이진트리는 중간에 null 값이 생기면 안되기 때문에 queue를 순회하면서 node.val를 맨 뒤에 붙이다 보면 완전 이진트리는 맨 뒤에 null 하나만 생기고, 완전 이진트리가 아닌 경우에는 null 뒤에 node가 존재할 것이다.
    • 그래서 queue 순회를 중단하고 null만 poll() 하게 되면 queue가 비었는지 아닌지를 판별함으로써 완전 이진트리인지 아닌지를 판단할 수 있다.

LG CNS 자기소개서 작성

  • 자기소개서를 쓰면서 제가 느낀 점을 작성한 내용이라 반말입니다. 아직도 잘 모르겠다는...
  • 자기소개서를 써야하는데, 생각이 잘 나지 않는다. 개발에 관련된 지식이나 경험을 써내야 하지만 실질적으로 성능 개선이나 회사에서 좋아하는 내용이 무엇인지 모르겠다. 내가 지금까지 지내온 것들을 나열하는 것은 일관성을 보여주기에 부족하다.

느낀점

  • 리트코드가 작정을 한건지 이제는 또 트리문제를 계속 내는데요... 알고리즘 훈련을 하는 것 같은 느낌입니다. 풀 때는 정말 힘들고 화가 나는데, 풀고나면 하나의 경험치가 늘었다는 생각이 들어서 뿌듯하기도 하네요 ㅎㅎㅎ
  • 자소서를 작성하다보면 일관성을 지키는 것이 생각보다 어렵습니다. 글을 깔끔하고 일관성 있게 잘 쓰시는 분들을 보면 아주 부럽습니다.
  • 요즘은 알바를 하고 있기 때문에 당분간은 리트코드와 자소서에 집중할 생각입니닷!

내일 할 일

  • LeetCode 데일리 문제 풀기
  • LG CNS 자기소개서 작성