Zero to Hero
article thumbnail
200. Number of Islands
Algorithm 2021. 5. 17. 09:58

Number of Islands - 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 1. BFS from collections import deque from typing import * class Solution: def numIslands(self, grid: List[List[str]]) -> int: answer = 0 height, width = len(grid), len(grid[0]) visited = [[0] * width for _ in range..

article thumbnail
JPA Study 03
Programming 2021. 5. 16. 17:40

책을 읽고 배운 내용을 정리한다. 맵핑은 다대일 단방향부터 생각하자 - JPA는 다양한 연관관계에 대한 맵핑 방법을 제공한다. - 그중 가장 기본이 되는 방법은 다대일 단방향 맵핑이다. - 2개의 테이블을 JOIN 했을 때 가장 연상하기도 쉽고 DB 관점에서도, 객체 관점에서도 개발자에게 익숙하다. - 양방향 맵핑은 필요한 경우에만 만들어주면 된다. - 단방향, 양방향의 차이는 객체 그래프 탐색의 루트를 한쪽에서만 할 수 있을지, 양 쪽에서 다 가능하게 할지의 차이기 때문이다. 다대다 맵핑 @Entity @Data public class Member { @Id @Column(name = "MEMBER_ID") private String id; @Column private String username; /..

article thumbnail
75. Sort Colors
Algorithm 2021. 5. 16. 11:48

Sort Colors - 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 1. sort() class Solution: def sortColors(self, nums: List[int]) -> None: """ Do not return anything, modify nums in-place instead. """ nums.sort() 0,1,2로 이루어진 list를 오름차순 정렬하는 문제다. 이렇게도 그냥 풀린다. 2. Dutch national flag prob..

article thumbnail
337. House Robber III
Algorithm 2021. 5. 16. 11:07

House Robber III - 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 1. BFS를 이용한 Level 별 탐색(실패) from collections import defaultdict, deque class Solution: def rob(self, root: TreeNode) -> int: dict1 = defaultdict(int) if not root: return 0 q = deque([(root, 0)]) while q: cur_node, cu..

article thumbnail
17. Letter Combinations of a Phone Number
Algorithm 2021. 5. 15. 20:22

Letter Combinations of a Phone Number - 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 1. DFS class Solution(object): def letterCombinations(self, digits): dict1 = {2: ["a", "b", "c"], 3: ["d", "e", "f"], 4: ["g", "h", "i"], 5: ["j", "k", "l"], 6: ["m", "n", "o"], 7: ["p", "q", "r..

article thumbnail
JPA Study 02
Programming 2021. 5. 15. 14:17

책을 읽고 배운 내용을 정리한다. MappedBy - 양방향 바인딩에 있어서 생각할 점은 어느 쪽에 MappedBy를 사용할 것이냐이다. - MappedBy는 주인이 아닌 엔티티의 변수에 할당해줘야 한다. - 주인이 아니라는 것은 DB 테이블로 생각했을 때 해당 엔티티와 맵핑되어있는 테이블에서 FK를 관리하지 않는다는 것과 같다. - 예를 들어 회원, 팀이 있으면 회원 엔티티에는 Team team이, 팀 엔티티에는 List members가 있을 것이다. - DB 테이블로 상상해서 생각해보면 JOIN을 고려했을 때 테이블 모델링을 하면 TEAM_ID라는 FK는 멤버 테이블에 있는 게 일반적으로 생각할 수 있는 모습이다. - 그래서 일반적으로 @ManyToOne을 가지고 있는 엔티티는 항상 연관관계의 주인이..