일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 빈 조회 2개 이상
- infcon 2024
- JavaScript
- 인프콘 2024
- Python
- 프로그래머스 이중우선순위큐
- spring batch 5.0
- 1주일회고
- 전략패턴 #StrategyPattern #디자인패턴
- 개발자 취업
- DesignPattern
- 취업리부트코스
- 코딩테스트 준비
- @FeignClient
- 커스텀 헤더
- jwt
- 빈 충돌
- 디자인패턴
- 개발자부트캠프추천
- 항해99
- KPT회고
- jwttoken
- TiL
- 단기개발자코스
- Spring multimodule
- 99클럽
- 구글 OAuth login
- 디자인 패턴
- 파이썬
- 프로그래머스
- Today
- Total
목록분류 전체보기 (192)
m1ndy5's coding blog
프로젝트를 진행하던 중 궁금한 점이 생겼다. Post라는 게시글 Entity가 가지고 있는 필드는 postId: 포스트 아이디 member : 작성자 title: 게시글 제목 content: 게시글 내용 likes: 좋아요 개수 createDate: 작성 일자 updateDate: 수정 일자 이렇게 가지고 있었다. 이에 따라 게시글을 조회하는 컨트롤러에서 귀찮게 DTO를 만들지 않고 그냥 Post Entity자체를 응답으로 내려줘도 되지 않을까? 라는 생각을 해서 주변 개발자분들께 여쭤봤고 욕을 먹었더라는(?)ㅋㅋㅋㅋㅋ 나와 같은 생각을 가지고 있을 꼬꼬마 개발자분들께 왜 굳이 DTO로 반환하는지에 대한 글을 공유하려고 한다! 일단 글에 들어가기 앞서 DTO가 무엇인지부터 알고 가보자 DTO란? Data..
항해99 단기 개발자 코스를 들은지 2주째! 1주차랑 알고리즘이 차원이 다르게(?) 어려워졌다ㅋㅋㅋㅋ 골드 4까지는 그래도 아이디어가 잘 생각이 나는데 골드 3부터는 아이디어조차도 잘 생각이 나지 않는 것같다.... 많이 풀어보는 수밖에 없겠지ㅜ 어제 하루종일 아파서 공부를 못하고 오늘 코딩테스트를 봤는데 4문제 중에 2문제 풀었다ㅠㅜㅠㅠ 코딩테스트 연습을 계속 해야할 것같다,, 이력서 피드백도 받았는데 이를 염두에 두고 프로젝트도 진행해야할 것같다. 힘들었던 주간이었지만 그래도 계속 열심히 해보면 늘겠지! 이제 진짜 안놀고 공부만한다ㅡㅡ 다음주 목표 프로젝트 리팩토링 마무리 알고리즘 골드3 문제 10개 풀어보기
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bCdqAy/btsDj12qZVk/nAUF5QFBSztgF6nl4DqzUK/img.jpg)
https://leetcode.com/problems/balanced-binary-tree/description/ 이 문제 또한 어려워서 못풀었다.. 사실 balanced binary tree 가 뭔지 잘 몰라서 엄청 해맸던 거 같다. 루트 기준으로 생각했기 때문에 이건 balanced인데 이건 balanced가 아니라는게 뭔말이야 대체 하고 한참을 고민했더라는,,,, 얘 또한 루트 기준으로 balanced가 아니가 각 노드 기준으로 balanced였다,,ㅎ 결국 각 노드 기준으로 left가 없는데 right가 2개라던가 right가 없는데 left가 2개와 같은 상황이 있으면 안됐던것! (한쪽으로 치우친 트리를 편향 이진 트리라고 한다. 성능면에서 최악이라고 한다. 찾을 때까지 내려가야하기 때문 O(N..
https://leetcode.com/problems/search-in-a-binary-search-tree/description/ # Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left=None, right=None): # self.val = val # self.left = left # self.right = right class Solution: def searchBST(self, root: Optional[TreeNode], val: int) -> Optional[TreeNode]: answer = [] def dfs(node, val): if node.val == val: answer.append..
https://leetcode.com/problems/range-sum-of-bst/description/ # Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left=None, right=None): # self.val = val # self.left = left # self.right = right class Solution: def rangeSumBST(self, root: Optional[TreeNode], low: int, high: int) -> int: answer = [0] def dfs(node, low, high): if not node: return # low 넘버보다 작은데 오른쪽 노드가..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cBnhCM/btsDllFRJPk/rrfbCVRPdkqOfKJxXrnGG1/img.jpg)
https://leetcode.com/problems/diameter-of-binary-tree/description/ 어려웠던 문제ㅠㅠ 잘 몰라서 책보고 풀었다. # Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left=None, right=None): # self.val = val # self.left = left # self.right = right class Solution: def diameterOfBinaryTree(self, root: Optional[TreeNode]) -> int: longest = [0] # 가운데 노드 기준 def dfs(node): if not node: return ..
https://leetcode.com/problems/course-schedule/description/ 풀지 못했던 문제ㅠㅠ 책 코드를 보고 풀었다! import collections class Solution: def canFinish(self, numCourses: int, prerequisites: List[List[int]]) -> bool: # value가 list형태인 dictionary 선언 graph = collections.defaultdict(list) for x, y in prerequisites: graph[x].append(y) # 추적하고 있는 코스 traced = set() # 수강한 코스 visited = set() def dfs(i): # 이미 추적했다면 -> 순회 체크 ..
https://leetcode.com/problems/subsets/ class Solution: def subsets(self, nums: List[int]) -> List[List[int]]: n = len(nums) answers = [] def dfs(pair, i, k, n): if len(pair) == k: answers.append(pair[:]) return for j in range(i, n): pair.append(nums[j]) dfs(pair, j+1, k, n) pair.pop() for i in range(n+1): dfs([], 0, i, n) return answers부분집합의 길이가 0, 1, 2, 3, ... 일때 해당 부분집합을 다 찾을 수 있도록 풀었다.
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/zEwVv/btsDiPz1WCn/VEVMxD3X9uQLKrUyaF8yhK/img.jpg)
https://leetcode.com/problems/n-queens/description/ 오호라... 굉장히 어렵게 느껴졌던 문제,,, 솔직히 아이디어 못 떠올려서 리트코드 제출한 사람거 읽었다ㅋㅎㅋ 아이디어는 이렇다 한 행(row)씩 읽어가면서 하나씩 Queen을 둬본다. 이 때 queen을 둔 열(column과 양쪽 대각선 /, \ 둘 다 visited 처리를 한다.) 여기까진 많이 떠올렸을 거 같은데 대체 대각선 처리를 어떻게 하지?? 고민이 있었는데 이런 규칙을 갖고 있었다. 이렇게 방문처리를 해가면서 해가 나오지 않으면 다시 다른 곳에다 둬보는 방식으로 처리하는 전형적인 백트래킹 문제였다. (그리고 어려웠다..ㅎㅎ) class Solution: def solveNQueens(self, n: ..
https://leetcode.com/problems/combinations/ class Solution: def combine(self, n: int, k: int) -> List[List[int]]: answer = [] def dfs(pair, i, n, k): if len(pair) == k: answer.append(pair[:]) return for j in range(i, n+1): pair.append(j) dfs(pair, j+1, n, k) pair.pop() dfs([], 1, n, k) return answer라이브러리 사용해서 간편하게 나타내기 import itertools def combine(self, n, k): return list(itertools.combinations(..