본문 바로가기

전체 글

(87)
[LeetCode] 819. Most Common Word (문자열 조작) 문제 https://leetcode.com/problems/most-common-word/ Most Common Word - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 문자열(paragraph)과 금지 단어 목록(banned)을 입력으로 받는다. 문자열 중에서 금지 단어가 아닌 가장 자주 사용된 단어를 소문자로 반환하자. 내 풀이 시간 : 50ms 처음에 정규식을 사용하지 않고 문자열 처리 함수인 split() 만으로 해결하려고 했더니 잘 안되었다. 그래서 ..
내 모델은 언제쯤 성능이 좋아질까? 지금 몇 개월째 모델을 들여다보고 있는지 모르겠다. 풀고자 하는 문제에 거의 근접한 것 같은데 결과가 자꾸 원치 않는 쪽으로 saturate 된다. 될 듯 말 듯 안된다. 결론은 '안된다'이다. 왜 성능이 좋아지지 않을까... 내 지식의 한계인가... 할 수 있는 건 거의 다 해본 것 같은데 잘 안된다. 이 과정을 모든 딥러닝 연구자들도 겪는 것일까? 내가 정상인 걸까? 제발 누가 정상이라고 이야기해줘. semantic segmentation 의 대가가 있다면 나를 찾아내어서 좀 도와주러 왔으면 좋겠다. 난 또 연구하러 가야지...
[LeetCode] 937. Reorder Data in Log Files (문자열 조작) 문제 https://leetcode.com/problems/reorder-data-in-log-files/ Reorder Data in Log Files - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com logs 배열을 입력으로 받는다. 각 로그는 단어의 집합으로 이루어지는데 각 단어들은 공백으로 구분된다. 그리고 첫 번째 단어는 '식별자'라고 부른다. 로그는 두 가지 종류로 나뉜다. 1. Letter-logs : 식별자를 제외한 모든 단어들은 영어 소문자로 구..
[LeetCode] 344. Reverse String (문자열 조작) 문제 https://leetcode.com/problems/reverse-string/ Reverse String - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 문자열을 뒤집는 함수를 만들어보자. 입력은 문자로 구성된 배열이 주어진다. ex) ['h', 'e', 'l', 'l', 'o'] 입력 배열을 in-place로 거꾸로 뒤집어야 한다. no return 내 풀이 class Solution: def reverseString(self, s: List[str..
[LeetCode] 125. Valid Palindrome (문자열 조작) 문제 https://leetcode.com/problems/valid-palindrome/ Valid Palindrome - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 모든 대문자는 소문자로 바꾸고, 알파벳과 숫자가 아닌 문자는 제거하자. 모든 가공을 거친 문자는 앞으로 읽었을 때와 뒤로 읽었을 때가 동일해야 한다. 이것을 펠린드롬이라고 한다. 주어진 문자가 펠린드롬 문자인지 구하자. 내 풀이 시간 : 43ms 주어진 문자열 s에서 알파벳 또는 숫자 형태의 ..
키패드 누르기 (Level 1) 내 풀이 키 패드 숫자를 미리 딕셔너리에 저장했다. n이 키패드 오른쪽에 위치하는 숫자는 오른손, 키패드 왼쪽에 위치하는 숫자는 왼손으로 누르도록 했다. 숫자를 누를 때마다 손의 위치를 업데이트시켰다. n이 키패드 중앙에 위치하는 숫자일 경우, 맨해튼 거리를 구하고 손의 위치를 업데이트시켰다. def solution(numbers, hand): answer = '' dic = {1: [0, 0], 2: [0, 1], 3: [0, 2], 4: [1, 0], 5: [1, 1], 6: [1, 2], 7: [2, 0], 8: [2, 1], 9: [2, 2], 0: [3, 1]} left, right = [3, 0], [3, 2] for n in numbers: if n in [3, 6, 9]: right = d..
Learning Rate Scheduler Learning Rate Learning rate는 gradient를 업데이트할 때 사용되는 보폭이다. Learning rate는 성능에 영향을 주기 때문에 잘못 설정하면 아예 학습이 안되기도 한다. 그렇기 때문에 learning rate를 어떻게 설정할지는 매우 중요하다. 적절한 학습률을 찾는 것은 어렵다. 그래서 이 문제를 해결하기 위해 learning rate schedule가 도입되었다. 처음부터 끝까지 같은 learning rate를 사용할 수도 있지만, 학습 과정에서 learning rate scheduler를 사용하면 더 좋은 성능이 나올 수도 있다. 처음에는 큰 learning rate으로 빠르게 최적화를 하고, 최적값에 가까워질수록 learning rate를 줄여 미세 조정하는 것이 학습..
블로그에 대한 생각 블로그를 또 옮겼다. 티스토리가 나의 4번째 블로그이다. 네이버 블로그 -> 깃헙 블로그 -> 벨로그 -> 티스토리 (참 많이도 옮겼다!!!) 이 정도면 나는 프로 블로그 이사러이다. 블로그를 옮길 때마다 이런 생각을 한다. 이번 블로그에서는 진짜 활동 열심히 할 거야! 결론은 땡! 당신은 틀려먹었습니다. 나의 모태 귀차니즘이 블로그 활동을 막는 것 같다. 나태 지옥아 hoxy 날 기다리고 있니..? 제대로 해야 할게 정해져 있지 않은 지금같이 각 잡고 공부하기 힘들 때 블로그는 참 좋은 매체인 것 같다. 공부를 하고 블로그에 정리하면서 개념을 다잡을 수 있어서 좋다. 특히 내가 이해한 것을 정리하면서 내가 모르는 것을 파악할 수 있다. 모르는 것을 파악했다는 것은 다음에 공부할 것이 생긴다는 것! 물론..