일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 항해99솔직후기 #항해99 #부트캠프추천
- #내일배움단 #코딩프로젝트 #국비지원 #내일배움카드 #스파르타코딩클럽
- 스파르타코딩클럽 #크롤링 #스크래핑
- 부트스트랩 #Bootstrap #웹개발첫걸음 #스파르타코딩클럽
- 스파르타코딩클럽 #코딩 #jQuery #Ajax
- Today
- Total
목록coding (165)
이모저모

김태원 선생님의 강의를 들으면서! 아무래도 나같이 찬찬한 이해의 시간이 필요한 사람에겐 필기/그림으로 먼저 정리하고 코드로 쓰는 게 좋은 것 같다!! + 어제 종이질감필름 사길 너무 잘했다..ㅎㅎ import collections def findCow(start:int, destination: int, max_position: int): positions_que = collections.deque() positions_que.append(start) distance = [0] * (max_position + 1) distance[start] = 0 checked = [0] *(max_position + 1) while positions_que: now = positions_que.popleft() if ..

1. 손그림/필기로 정리 2. 코드 class Solution(object): def combine(self, n, k): """ :type n: int :type k: int :rtype: List[List[int]] """ res = [0] * k result_li = [] def DFS(L, starter): if L == k: result = res[:] result_li.append(result) return if starter > n: return else: for i in range(starter, n+1): res[L] = i DFS(L+1, i+1) DFS(0, 1) return result_li 3. 제출

DFS 를 공부하는 중! import collections class Solution(object): def permute(self, nums:list): # tip for me : 중복이 없어야 한다, 이를 위해 "checked 여부 확인할 친구"를 만들어 두고 사용한다. # 인프런 강의에선 array 로 사용했고, 중복 확인할 숫자가 0-n 이렇게 순차저으로 주어져 있었어서 index 를 그 key 처럼 쓸 수 있었던 듯한데, # nums 가 0 또는 1부터 순차적으로 주어지지 않으면 어떻게 해야 하나 고민하다가 # 나는 일단 딕셔너리로 해보면 어떨까 했다. res = [0] * len(nums) checked_dict = collections.defaultdict(int) for num in num..

스택, 큐도 어려웠지만 그래프로 들어가니까 이게 문제에 어떻게 적용해야 하는지 완전 어려웠다. 그렇게 어려워하는 나를 구제해준... 너무 감사한 강의는 김태원님의 '파이썬 알고리즘 문제풀이' (인프런에 있다.) 특히 DFS(깊이 우선 탐색)의 본질이랄까... 그런걸 너무너무 잘 설명해주셨다ㅠㅠㅠ 감탄하면서 강의를 봤다 정말. 암튼 그 분 강의를 통해 배운 DFS 논리를 그대로 적용하면서 전화번호 문자조합(?) 문제를 풀어봤다. 아래는 코드 자체와, 코드에 대한 구구절절한 (나를 위한) 말로서의 정리노트! def letterCombinations(self, digits): """ :type digits: str :rtype: List[str] """ if len(digits) == 0: return [] ..

- 문제 그림 그리면서 생각해보기 import collections def solution(prices): # 준비물 # (1) 결과로 제출할 배열 answer "[ ] * N" (N = len(prices)) # (2) 인덱스와 가격을 함께 넣을 main_stack # (3) 아직 비교를 기다리고 있는 '대기중인 가격들' (waiting_prices) >> queue # 준비물 세팅 waiting_prices = collections.deque(prices) main_stack = [[-1, 0]] # 첫 값이 stack 에 쌓일 때 비교를 위해 넣어 둔 값. answer = [0] * (len(prices)) # 대기 중인 가격들에 대해서 for i, price in enumerate(waiting_..
첫 시도.. 시간 매우 느림..🤪 Runtime: 2190 ms, faster than 9.88% of Python online submissions for Longest Substring Without Repeating Characters. 나의 좋지 않은 방식으로 오래 고민하기보다는 다른 방식을 많이 보는 게 더 필요하지 않을까 싶다. 다른 풀이 보면서 공부해야지~ class Solution(object): def lengthOfLongestSubstring(self, s): candidates = [] # 중복없이 슬라이싱된 단어의 길이들 담을 리스트 char_list = list(s) # 문자열 검사하면서 앞에부터 자유롭게 pop(0)하기 위해 리스트로 바꾸어봄. (데큐가 더 나으려나) # 예외 ..