일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 김태강
- 프로그래머스
- 리트코드
- 나는 아마존에서 미래를 다녔다
- Python
- Envoy
- mysql #numa #swap #memory
- 와썹맨
- LongestPalindromicSubstring
- Dynamic Programmin
- 동적 프로그래밍
- BFS
- 그거봤어?
- 삼성인 아마조니언 되다
- 블린이
- leetcode
- 삼성역량테스트
- 트리
- 파이썬
- 아마조니언
- 리스트의 리스트
- No Rules Rules
- 기술적 채무
- 독후감
- 알고리즘
- 규칙없음
- list of list
- minimum path sum
- technical debt
- Unique Paths
- Today
- Total
목록분류 전체보기 (53)
개발자가 되고 싶은 준개발자

동적 프로그래밍 카테고리에 있는 문제로 가장 긴 앞뒤가 같은 문자열을 찾는 문제이다. 풀이 동적 프로그래밍으로 문제를 풀기 위해서는 계산한 결과를 저장하여 다음에 '재사용'하여야 한다. Palindrome은 앞뒤가 같은 문자열로, 전체가 palindrome이면 부분도 palindrome이다. "abcba"로 예를 들어보자. "abcba"가 palindrome이면, "bcb", "c"도 모두 palindrome이다. 따라서 작은 문제부터 풀고, 큰 문제는 +𝛂만 추가로 확인하면 된다. 우선 가장 가운데의 "c"가 palindrome인지 확인하고, 맞다면 그 양 옆의 문자인 "b"를 추가로 확인한다. 양 옆의 문자가 같다면, 이 또한 palindrome이다. 그러면 다시 그 양 옆의 문자를 확인하는 식으로 ..
문제 list_of_list = [[0]*5]*5 위처럼 리스트의 리스트를 생성하면 [[0,0,0,0,0], [0,0,0,0,0], [0,0,0,0,0], [0,0,0,0,0], [0,0,0,0,0]]가 만들어진다. 여기까지는 좋다. 그런데 리스트의 일부분을 수정하면 어떻게 될까? for i in range(5): list_of_list[0][i] = 1 위의 코드를 이어 실행하면, list_of_list가 [[1,1,1,1,1], [0,0,0,0,0], [0,0,0,0,0], [0,0,0,0,0], [0,0,0,0,0]]이 되어야 할 것 같다. 그런데 실제로는 [[1,1,1,1,1], [1,1,1,1,1], [1,1,1,1,1], [1,1,1,1,1], [1,1,1,1,1]]이 된다. (띠용? 당황스럽..

최근에 박정준의 '나는 아마존에서 미래를 다녔다'에서 읽었다. (원래 책을 도서관에서 빌려 보고 소장은 잘 하지 않는 편인데, 이 책은 두고두고 읽고 싶어 구입하였다.) 책 전반적으로 유익한 내용이 많아 흥미롭게 읽었다. 개발자라면 누구나 마음속에 실리콘밸리의 IT회사에서 개발자로 살고 싶다는 생각을 하기 않나? 일단 나는 그렇다. 그러나 현실적인 장벽과 나의 부족한 코딩 실력으로 인해 포기한 지 꽤 되었다. 이 책은 내가 이루지 못한 꿈에 대한 대리만족과 아마존에 대한 궁금증을 해소해주는 책이었다. 이 책을 다 읽은 후에 가장 기억에 남은 구절은 다음 구절이다. 아마존에서는 '기술적 채무(technical debt)'라는 말을 자주 한다. 이는 당장의 쉬운 방식으로 대충 일을 처리하면 나중에 시간이 가..