요새는 하루에 하나씩 문제를 푸는 것이 쉽잖다. 야근도 많고 애들도 아프고 집안일도 많다. 고민도 많아서 뭔가 글을 쓰면서 정리를 하려고 한다. 내 맘을 붙들려는 것이다.매일 여러 영역의 문제를 하나씩 풀면서 소감을 기록하면 리뷰하기도 좋을 것 같아 적어본다. 처가에 와서 양해를 구하고 문제를 풀었다. 스스로 풀려니 정말 기억이 안난다.N-queensN-queens라는 문제가 있다. 백트래킹의 거의 전형인데, leetcode hard로, 체스판 변의 길이 n 을 주면, `.Q..` 식으로, 각 줄마다 Q를 규칙에 맞게 1개씩 놓은 것을 표시한 스트링 n 개의 리스트를 묶어 돌려줘야 하는 문제다. 규칙이란, Queen들을 대각선과 + 방향으로 겹치게 놓으면 안된다는 것.맨 윗 줄부터 채우기로 했다. .Q...
트리를 레벨별로 출력하라는 문제. 예를 들어, Root 가 1이고, 좌우 Child가 2, 3, 그 다음 세대가 각각 4/5, 6/7인 경우에는 -> [[1],[2,3],[4,5,6,7]] 처럼 출력하는 문제이다.이건 레이어가 중요한 문제BFS의 경우에 어떤 경우는 queue에 자식노드를 계속 추가하면서 while로 해서 다 방문하고, 지금 경우는 for 로 딱 현재 queue 길이만큼만 방문하되 자식 노드는 추가는 계속 해 나가기도 한다. 후자의 경우는 레벨별로 방문해야 하거나, 아니면 최단거리 문제를 풀어야 할 때 꼭 지켜줘야 하는 것이다. 아래 코드에 설명을 달아 둔다.from collections import dequeclass Solution: def levelOrder(self, root..
나는 이천 여 사용자를 대상으로 하는 받아쓰기(speech-to-text) 도구를 여러 라이브러리를 조합해 혼자서 만들었고 사내에 서비스 했었으며, 이 경력을 토대로 채용 면접관들의 많은 의심을 뚫고 수천만 명을 서비스 대상으로 하는 국내 굴지의 IT 서비스 회사의 머신러닝 엔지니어로 취직했었다. 여기서 나는 두 개 부서, 총 3개 팀을 거치면서 여러가지 기술과 업무방식을 배울 수 있었다. 최근에는 핀테크 회사에 데이터 사이언티스트로 이직했으나 여기서는 업무 범위에 제한이 더 적어, 나의 경험과 흥미에 따라 머신러닝 엔지니어로서의 역할을 많이 하게 될 것 같다. 약 1년 반이 조금 넘는 시간 동안의 내 경험을 회고해 보면서 내가 개인 개발자로서 일할 때와 달리 대규모 서비스를 하게 되는 조직에서 엔지니어..
영어가 밥은 안 먹여줘도 상당한 비용은 절약해 줄 수 있다.첫째, 지식이 물 건너오면 몇 배 비싸진다. 패**캠** 등에서 제공하는 강의 내용이 원래는 유데미나 코세라 등에서 훨씬 저렴하게 제공되고 있다는 불평을 듣곤 한다. 한국어만 사용하고 있다는 이유로 인해 단지 번역과 재편집을 해서 한국어 화자가 전달해 주는 내용을 (유튜브에는 무료로 풀렸을 수 있는) 몇 배나 십수배에 해당하는 돈을 주고 들어야 하는 것이다. 영어를 잘한다면 그럴 일이 없는데 말이다.둘째, 원서로 보면 쉬운 개념도 번역해 놓고 보면 너무 어려워진다. 영어는 쉽고도 맥락에 맞는 단어로 개념을 정의하기에, 원어 자체로 보면 이해하기에도 기억하기에도 쉽고 이를 유사 개념에 대해 확장해서 이해하기도 쉽다. 하지만 이를 한자 혹은 한글로 ..
면접 과정을 통해 실제 기업이 물어보는 질문을 듣고 합격/불합격을 통해 피드백을 들어 발전을 하라는 말들을 한다. 하지만 면접 자체가 있다는 것 때문에 아무래도 스트레스가 있게 된다. 원래 입사 생각도 하지 않던 기업과의 면접 과정에서는 떨어지게 되면 역시 기분이 나쁘고 붙게 되면 그걸 거절하는 과정 자체도 마음이 안좋게 된다. 그러나 그런 과정 자체는 어디에서도 살 수 없는 경험이기 때문에 수업료라고 생각해야 할 것 같다. 그리고 혹시나해서 본 면접이 잘 되어 합격과 처우 제시를 받고, 인터뷰 과정에서 질문을 하다 보니 내가 해당 직무와 기업에 대해 알게 되면서 해당 포지션에 가고 싶은 마음이 생길 수 있다. 이 점을 잘 알기에, 기업에서도 구직자가 이 직무를 진심으로 원하지 않는 모습이 조금이라도 보..
흔히들 굴지의 기업이나 학교 등으로부터 자신이 '스카웃 제의'를 받았다고 말하는 경우, 청자가 화자에게 몇가지 할 수 있는 확인성 질문이 있다.헤드헌터가 연락한 건가요? 아님 HR이 했나요? 아니면 해당 팀에서 했나요?헤드헌터는 거칠게 말해 1건 성사시 1년 연봉의 몇 %를 보상으로 받기 때문에 저인망식으로 기업의 눈높이와 다른 사람에게도 연락을 엄청 많이 뿌린다. 그래서 링트인에 프로필 있는 사람이라면 헤헌한테 연락을 심심지 않게 받게 된다. 그러나 그 뒤로 많은 단계가 남아있기 때문에 그 자체로 스카웃 제의라고 말할 수는 없다. 헛다리를 짚는 경우가 상당히 많음을 경험적으로 알고 있다. 그래선지 요새는 채용하는 회사의 HR이 직접 연락을 돌리는 경우가 더 많은 것 같다.HR이 직접 했다면 그래도 이력..
Convexitybowl-shapedness: function >= tangentie. f(u) >= f(w) + = f(w) + f'(w) (u - w)chord across bowl: chord >= function2nd gradient of function is psd; ▽2f(w) or, f''(w) >= 02nd gradient > 0 : strict convexityGlobal minimumconvex & the critical point (ie. gradient = 0)
Digital Advertising: An Information Scientist's Perspective (2010) http://courses.ischool.berkeley.edu/i296a-dsa/s12/files/ESSIR-ShanahanChapter-2010-11-09-CameraReady.pdf The Online Advertising Industry: Economics, Evolution, and Privacy (2009) https://www.aeaweb.org/articles?id=10.1257/jep.23.3.37 The Online Advertising Industry: Economics, Evolution, and Privacy - American Economic Associatio..
파이썬을 처음 접할때 Immutable과 mutable 객체가 있다는 것을 배운다. 그리고 그에 해당하는 것을 기억하면서, 무슨 자료형은 '바꿀 수 없다'고 기억한다. 예를 들어 string은 immutable, list는 mutable 이런 식이다. 그런데 그 효과를 정확히 알지 않으면 상당한 시간을 디버깅 하느라 낭비할 수 있다. 정리해본다. 만약에 "".join(L1) 이렇게 한다고 할 때와 L1.extend(L2) 할 때 큰 차이가 무엇일까. 전자는 새 string 객체가 리턴되지만, 후자는 None이 리턴된다. 따라서, 저 결과를 무언가에 append 하고 싶다면 전자는 그냥 저 식을 argument로 넣지만(오히려 .copy() 가 안됨), 후자는 저 식을 실행한 후의 L1을 argument ..
빡센 곳에 batch 되었지 매일 데이터 뽑느라 속이 DB지는 jira 추운 겨울에도 난 outer를 벗었지 아침 10시 이제 사무실로 join left, right, inner 이리저리 붙여봐도 내 삶의 key는 보이지 않지 겨우 한달도 안됐는데 일은 이제 double 벌써 세 번째 check-in 활자 위로 float하는 나의 삶 정체를 드러내는 사무실 빌런, 이건 또 merge? bit자루로 쓸어 버리고 싶은 너 어차피 너도 모르면서 틀린 code 훈수랍시고 두는 너 하지만 일은 결국 내가 해야 하는 거지? 이런 boolean ack 조건을 이기고 매일 py가 나고 spark가 튀어도 퇴근하고 집에 가면 가을에 yaml어가는 열매처럼 커가는 나의 json이 날 보며 bash sh 웃으면 어느새 맘속..
- Total
- Today
- Yesterday
- lru_cache
- 동전문제
- 문자열
- Union-find
- deque
- memoization
- 카카오
- 프림
- 빅테크
- 엔지니어
- coupon collectors' problem
- Kosaraju
- graph
- cache
- bintrees
- connected components
- nqueens
- 개발자 채용
- 입출력
- RTE
- 코테
- OJ
- 공부법
- dfs
- python
- 다이내믹 프로그래밍
- 합격
- BFS
- dp
- iterable
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |