본문 바로가기

전체 글

(31)
배움기록 210423 연습문제 사실 어제저녁 늦게 문제를 조금 풀었다. 그래서 오늘은 출석만 하고 공부 안 해도 되는 즐거운 날인데 그래도 몇 문제 더 풀어보려고 한다. 문자열 압축 def solution(s): answer = l = len(s) for i in range(1, l // 2 + 1): result, word, count = "", "", 1 for j in range(0, l, i): if s[j : j + i] == word: count += 1 else: result += str(count) + word if count != 1 else word count = 1 word = s[j : j + i] result += str(count) + word if count != 1 else word answer ..
배움기록 210422 문제 풀이 풀어본 문제가 대부분이라 설렁설렁 강의를 듣고 있다. 해설이 자세하고 친절하시다. 체육복 안 풀었던 문제 1 첫 시도 def solution(n, lost, reserve): lost = set(lost) for i in sorted(reserve): for j in i, i - 1, i + 1: if j in lost: lost.remove(j) break return n - len(lost) 강의에서 나왔던 방법 2를 구현했다. 테스트 5만 실패하고 모두 통과했다. 여벌 체육복을 가져온 사람이 도난당한 경우를 대충 처리하려다 틀린 것으로 보인다. def solution(n, lost, reserve): lost = set(lost) available = [] for i in reserve:..
배움기록 210421 트리 트리는 보기만 해도 싫어진다. 강의 내용은 이미 배웠던 내용이고, 새로운 것은 없었다. 이진 트리 트리가 왜 싫어졌을까 그건 이진 트리를 실제로 구현하는 것 때문이었다. 한번 더 해보자 야호 이진 트리의 구현 size def size(self): left = self.left.size() if self.left else 0 right = self.right.size() if self.right else 0 return left + right + 1 depth def depth(self): s = self.size() return len(bin(s)[2:]) 처음엔 이렇게 하는 건 어떨까 생각했는데, 이건 완전 이진 트리에서만 통한다. (그리고 s == 0일땐 틀렸다.) 얌전히 재귀적으로 구했다. 바..
배움기록 210420 링크드 리스트 class Node만 보면 왠지 싫어진다. 링크드 리스트에 노드 삽입, 삭제는 꽤 헷갈린다. 예전에 해봤던 것인데도 혹시나 해서 다음 강의 목록들을 봤는데 이진 탐색 트리에서 원소 삽입 삭제를 보고 말았다. 음! corner case 처리가 제일 번거롭다. 양방향 링크드 리스트 강사님의 말대로 head와 tail에 더미 노드를 구현한 것으로 머리 쓰는건 조금 더 복잡해졌을 수 있지만 if문을 통한 예외처리가 없어지니 코드 짜기가 훨씬 편해졌다는 것을 느낄 수 있었다. 스택 으악 세상에 파이썬 2.7.12 버전이야 링크드 리스트를 통해 직접 스택을 구현하는게 없으니 정말 좋다. day 1 연습문제 쉽지 않군. level 1, 2 주제에 다 풀고나서 생각해보니 쉬웠던 것 같다. 근데 day1하..
배움기록 210419 [K-Digital-Training] 인공지능 데브코스 오리엔테이션 출석을 열심히 하자 파이썬 자료구조와 알고리즘 기초 하지만 강의는 성실하게 들었습니다. 이미 아는 내용이라고 복습할 기회가 있을 때 복습하는것이 좋다. 이분 탐색은 직접 구현할 때마다 등호 때문에, 아니면 +1, -1 때문에 무한 루프에 빠지고 수정하는 일이 일어난다. bisect모듈이 최고다.
밑의 글에서 만든 code-server 손보기 가이드를 따라서 코드 서버를 만들었더니 파이썬이 안 되는 버전을 우리에게 던져줬다. 어떻게 그럴수가... 그래서 손을 봐야 한다. 레일웨이의 디플로이 관리 페이지에서 대충 버튼 누르면 볼 수 있는 여기서 저 보라색으로 표시해둔 곳을 누르면 내 깃허브로 가진다. 그러면 내 깃허브에 방금 생긴 저장소로 가지는데, 수정해야 할 것은 표시해둔 Dockerfile이다. 들어가면 영어로 된 암호문이 우릴 반긴다. 오른쪽의 연필 모양을 눌러 이 파일을 수정할 것이다. (배우신 분들은 이렇게 하지 맙시다...) codercom/coder-server의 최신 버전은 여기서 확인해볼 수 있다. 이 글을 쓰는 시점에서는 3.9.3 이쁘게 고쳐준다. 왜 latest를 썼는데 최신 버전이 아닌지는 아직 모르겠다. 하지만 파이썬..
code-server에서 제공하는 원클릭 가이드를 따라 Railway에 나만의 code-server 만들기 나만의 작고 귀여운 온라인 vscode가 있으면 좋겠다고 생각했다. 그래서 오라클에서 무료로 제공하는 인스턴스에 이것저것 해보다가 실패하고 뒤늦게 code-server에서 제공하는 원클릭 가이드가 있다는 것을 알게 된 뒤 쓴 글 github.com/cdr/deploy-code-server cdr/deploy-code-server Deploy code-server to the cloud with a few clicks ☁️ 👨🏼‍💻 - cdr/deploy-code-server github.com 3번의 링크를 누르면 이곳으로 가진다. 스크롤을 아주 조금 내리면 이 표를 볼 수 있다. 목표는 Free인 Railway. Railway와 Heroku는 방법이 비슷하고, Azure App Service는 약간 다..