TIL
TIL_20230303
번잔중
2023. 3. 3. 23:38
오늘 할 일
- LeetCode 데일리 문제 풀기
- OAuth2 구현
- HeapSort 구현해보기
오늘 배운 것
LeetCode 데일리 문제 풀기
- 오늘의 문제: 28. Find the Index of the First Occurrence in a String(https://leetcode.com/problems/find-the-index-of-the-first-occurrence-in-a-string/)
- 문제 조건
- 두 개의 문자열 haystack과 needle이 있다.
- haystack에서 needle과 일치하는 첫 번째 문자열의 시작 인덱스를 정답으로 반환한다.
- 만약 없는 경우에는 -1을 반환한다.
- 문제 해결
- 첫 번째 방법은 indexOf() 메소드를 사용하는 것이다. 문제에서 제시한 내용과 일치하는 메소드가 있기 때문에 한 줄로 가능하다.
- 두 번째 방법은 haystack에서 겹치는 문자열의 인덱스를 for문으로 찾는 방법이다. haystack.length() - needle.length() + 1 만큼의 크기만 순회하면 되고, 일치하는 문자열이 생기면 haystack의 시작 인덱스를 반환한다.
GitHub - chaning49/LeetCode
Contribute to chaning49/LeetCode development by creating an account on GitHub.
github.com
OAuth2 적용해보기
- 드디어 성공 했습니다!! 친구들과 팀원분 계정이 정상적으로 가입됐기 때문이죠 후후
HeapSort 공부하기
- 며칠 전 풀었던 O(nlog(n)) 시간복잡도를 가지는 정렬 알고리즘 중 하나인 heapsort를 직접 구현해보는 시간을 가져봤습니다.
- HeapSort는 두 가지의 과정으로 구현할 수 있는데요.
- heapify를 사용해서 배열을 maxHeap으로 만들기
- root노드를 맨 뒤로 배치한 후 나머지 원소들을 heap으로 만들기
- 시간복잡도를 내는 부분도 학습했는데, 아직 완벽히 이해하지는 못한 것 같습니다.
느낀점
- 리트코드 문제 중에서 간만에 쉬운 문제가 나왔습니다. 금방 풀어서 뿌듯하긴 한데, 어쩜 이렇게 난이도가 다양한지 ㅎㅎㅎ
- OAuth2 카카오가 제대로 동작하게 됐습니다. 주말 동안에는 google에서 받아올 수 있는 정보가 무엇인지 체크해보고 google OAuth2도 설정해주려고 합니다.
- Sort 알고리즘이 중요하다고 해서 공부를 시작했습니다. 아직 이해하는 데에 시간도 많이 걸리고 어렵지만 해보려고 합니다.
- 재정난이 시작될 것 같은 느낌이 강하게 와서 알바를 신청하고 일사천리로 한번에 붙었습니다. 아무래도 집이 가까워서 뽑아주신 것 같습니다. ㅎㅎㅎㅎ 담주 월요일부터 파트타임 알바 시작입니다!
내일 할 일
- LeetCode 데일리 문제 풀기
- OAuth2 구현 - google
- HeapSort 구현해보기