2021.04.05 TIL ⬆️

Jackson·2021년 4월 5일
1

TIL(Today I Learned)

목록 보기
9/42

세상에서 가장 행복한 것은 무엇일까?
사람마다 다 다르겠지만 오늘의 나는
평생을 사랑할 반려자를 만나는 것이 아닐까 생각해본다.

행복 ☺️

TIL의 기본적인 틀은 기술블로그에 기반하지만 내 TIL은 다르다. 그날 느낀점이 있다면 무엇이든지 쓰는 것이기에.
MBC에서 방영한 VR 휴먼다큐멘터리 너를 만났다 시즌 2 로망스 편을 보았다. 유튜브에서 짤로 된 영상은 있어서 조금은 봤는데 다시볼려면 결제까지 해야돼서 안하다가 오늘 그냥 보고 싶어서 결제했다.
보면서 참 다양한 생각이 들었다. 한 사람을 너무나도 사랑하고, 그녀와 결혼해 가족을 꾸리며 아빠가 되었는데, 더 이상 사랑하는 그녀가 그 옆에 존재하지 않는다는 감정. 나야 아직 연애를 하지 않고 결혼은 먼 미래의 이야기라 생각했지만, 주인공을 보며 감정이입이 들었다. 정말 영화나 드라마에서나 나올법한 순애보인데 슬픈 사연을 가진 주인공, VR로 만난 아내에게 "이제 안 아파?" 라고 첫 대사를 건낼 만큼, 얼마나 그리웠을까 하는 생각이 든다. IT의 발전이 좋은 의도로 감동을 주어 찡하기도 했고, 무엇보다 주인공이 참 멋있었고, 아이들또한 씩씩하게 자랄거라고 생각한다.

이분탐색의 고찰 📚

아직 이분탐색에 대해 더 공부해야할 필요성을 느꼈다. 공유기 설치를 풀면서 아직 공부해야 할 개념도 있고, 어떻게 이렇게 푸는지 신기하면서 이해가 안되는 스스로를 탓하기도 했다. 푸는 방법이야 갓구글에 검색하면 좋은 블로그가 많은데, 무엇보다 파라메트릭 서치 에 대한 개념을 알아야 하는 것이었다.
어제까지 푼 이분탐색의 개념중 확장한 것은 Upper/Lower Bound로 같은 정답을 갖는 element 중의 최대값 최소갑을 찾는것이라면, 이 문제는 그와는 다르게 여러 정답 후보가 나오면서 그 중의 최대값을 고르는 방식이다. 좀 더 직관적으로 얘기하자면


//1. 일반적인 이분탐색에 필요한 변수
var left = array[0]
var right = array[array.count - 1]
var mid = (left + right) / 2

//2. 1번 변수 + Upper/Lower Bound에 필요한 `추가` 변수
var answer = 0 //조건에 맞는 정답을 담을 변수

//3. 1번 변수 + 2번 변수 + parametric search에 필요한 '추가' 변수
var cnt = 0 //조건에 맞는 answer를 찾기 위한 조건 변수

이 글만 봐서는 완벽히 이해하기는 어렵지만 이 문제는 내가 아예 풀 방법을 몰랐고 다른 분들의 블로그를 보며 이해하는 중이라, 나중에 제대로 이해가 될 때 다시 올려보려고 한다.
어쨌든 큰 틀은 이분탐색, 즉 문제 정답을 O(lgn)으로 가려는 접근을 계속 유지하면서 이 문제를 떠나 다른 문제를 풀어도 잘 접근해 봐야겠다.


결론

  • 비슷한 유형의 문제를 계속 푸는것이 확실히 도움이 되는 것 같다.
  • 우리 가족 사랑해~

0개의 댓글