알고리즘(5)
-
(TIL) 20220910/ HackerRank SQL, 1일 1로그 독서
🏴Facts(한 것) & Findings(배운 것) 오늘은 추석 당일이라 많은 것을 하지는 못했다. 집에 오자마자 해커랭크에서 제공하는 SQL 문제들을 풀었다. 거의 JPA만 사용하다보니 뭔가 SQL 능력이 퇴화되는거 같고 (JPQL을 쓰지만) 점점 멀어지는거 같아서 해커랭크 기초 문제부터 풀면서 감을 익히고 있다. 오늘은 책에서 알고리즘 부분을 읽었다. 알고리즘 수업 복습도 할겸 새로운 지식도 얻을겸 해서 읽었다. 얼마전에 동생 국어 지문을 봐주면서 검색 알고리즘에 대한 글을 읽었는데, 검색 알고리즘을 구현해보고 싶은 생각도 들었다. 요즘 내가 취업을 한 후로 다른 분들에게 어떻게 기여할 수 있을까 생각하고 있던 와중에 내가 면접을 준비하면서 받아본 질문들과 예상 질문들을 추려서 웹 사이트로 ..
2022.09.10 -
(TIL) 20211225 + [고요의 바다] 후기
📕Facts(한 것) 프로젝트 피드백 받은 사항 정리 백준 문제 풀기 고요의 바다 정주행 📕Findings(배운 것) GitHub - mikekang47/daily-coding Contribute to mikekang47/daily-coding development by creating an account on GitHub. github.com 이번 주에는 백준 문제를 16문제나 풀었다. 알고리즘 강의의 순효과로 볼 수 있다. 다음주에는 그래프 문제가 들어가기 때문에, 충분한 학습이 필요할 듯 싶다. 📕Feeling(느낀 점) 이대로라면 더 성장할 수 있을까 라는 생각이 든다. 좀 더 해야할거 같아서 더 했는데, 이것보다 더 해야할 것 같다. 📕여담 넷플릭스 를 보고 이런저런 생각들이 떠올라서 적게 되었..
2021.12.26 -
[알고리즘] 기수정렬/ radix sort
📕기수정렬은 어떤 정렬인가 아마 card-sorting machine에 대해서 아는 사람은 드물 것이다. 오래전 IBM에서 만든 컴퓨터는 펀치 카드를 사용해서 결과값을 출력했는데, 이 카드를 정렬하는 기계가 바로 card-sortin machine이다. 그리고 이 기계에서 Radix sort를 사용했다! 📕LSD radix sort & MSD radix sort LSD radix sort를 알려면, 먼저 LSD가 무엇인지 알아야한다. LSD는 Least Significant Digit의 이니셜로 (환각물질 LSD가 아니다...) LSD radix sort는 가장 아래자리의 문자 혹은 숫자부터 정렬하는 정렬 알고리즘이다. 반대로 앞에서 부터 정렬하는 MSD도 있다. (MSD의 M은 Most) 그렇다면 어떻..
2021.06.15 -
[알고리즘] Backtracking / 백트래킹
📕Backtracking이란? 영어 사전에서 backtrack이란 단어를 검색하면 나오는 결과이다. '(방금 왔던 길을) 되짚어 가다' 미로찾기를 한다고 생각해보자, 두갈래 갈림길이 나왔을때 왼쪽으로 가다가 막히면 어떻게 하는가? 다시 갈림길이 있는 곳으로 돌아와서 오른쪽으로 가지 않겠는가? 이것이 바로 백트래킹의 핵심이다. 길이 막혔을 경우 다시 돌아가는 것을 원하는 결과가 나올때까지 반복하는 것이 바로 백트래킹이다. 간간단한 예제를 살펴보자. S = {W1 = 5, W2 = 6, W3 = 10, W4 = 11, W5 = 16} and W = 21 S에 있는 수를 뽑아 W를 만드려고 한다. 이때 생기는 조합은 여러가지가 있다. {W1, W2, W3} , {W1, W5}, {W3, W4} = 21 이러한..
2021.06.13 -
[알고리즘] Huffman code / 허프만코드
📕Huffman code 란?압축은 자료의 크기를 줄이기 위해서 사용된다. 그리고 이 압축을 하는 방식에 따라서 압축된 파일의 용량이 달라질 수 있는데, 그 중 Huffman code는 문자의 출현 빈도에 따라서 다른 길이를 사용하여 압축하는 알고리즘이다. Huffman code도 그리디 알고리즘의 일종이다. 허프만코드는 데이터를 매우 효율적으로 압축하는데, 20~90%의 용량을 아낄 수 있다. 허프만 코드는 prefix-free* codes로 표현된다. prefix-free코드는 어떠한 문자라도 항상 최적의 데이터 압축을 보장한다. (*prefix codes가 표준 표기이긴 하지만, prefix-free codes가 좀 더 맞는 이름이기 때문에 여기에서는 prefix-free codes로 표기하겠다) ..
2021.06.13