전체 글

전체 글

    2021.02.07 (일)

    이진탐색 2문제 -> 1문제 완료 졸프계획서 -> 완료 소마 자소서

    [Amazon 인터뷰] 고정점 찾기

    초기접근 이진 탐색으로 data[mid] == mid 인지 확인해서 왼쪽, 오른쪽으로 나누려고 시도. 그런데 왼쪽, 오른쪽 나누는 기준을 모르겠음. 어떨때 왼쪽? 어떨때 오른쪽? data[mid-1] mid + 1 이면 오른쪽 으로 나눴음 그랬더니 mid가 0일때 무한루프에 빠짐. 반복문으로 이진탐색을 구현할때 내가 실수했던 점 while start mid 이면 오른쪽으로 풀면 끝 정답 코드 n = int(input()) data = list(map(int, input().split())) start = 0 end = n-1 result = -1 while start mid: end = mid-1 else: start = mid+1 print(resu..

    EP6. 연관관계 매핑 (실전예제)

    테이블 구조 객체 구조 Member에서 orders 가 있는것이 객체지향적으로 좋은 설계는 아니다. 잘못된 설계이다. 회원의 주문목록을 보기위해서 상식상 멤버에 orders가 있어야된다고 생각이 되지만, Order의 Member를 이용해도 충분히 가능하다. 애플리케이션을 개발할때는 최대한 단방향 매핑으로 끝내자. 양방향이 필요한 경우 : 비즈니스 상에서 Order를 볼때 OrderItem까지 한번에 같이 보고싶은 경우 양방향 연관관계를 걸어준 객체 코드 Member ... @OneToMany(mappedBy = "MEMBER_ID") private List orders = new ArrayList(); ... Order ... @OneToMany(mappedBy = "ORDER_ID") private L..

    2021.02.06 (토)

    JPA 연관관계 매핑 실전예제 이진탐색 1문제 졸프계획서

    EP5. 연관관계 매핑

    예제로 연관관계 매핑 해보기 단방향 연관관계 시나리오 회원과 팀이 있다. 회원은 하나의 팀에만 소속될 수 있다. 회원과 팀은 다대일 관계다. 객체지향 모델링 Member class 의 teamId는 멤버가 어느 팀에 속해있는지 알려주는 변수이다. teamId는 테이블에서 FK에 해당된다. 그리고 Table 에서는 Member 와 TEAM 이 다대일 관계라는 것을 표현한다. 모델링코드 package hellojpa; import javax.persistence.*; import java.math.BigDecimal; import java.util.Date; @Entity public class Member { @Id @GeneratedValue @Column(name = "MEMBER_ID") privat..

    [Zoho 인터뷰] 특정 원소 개수 찾기

    풀이 python의 bisect를 이용하면 1분만에 풀 수 있지만, 이진탐색의 이해를 위해 이진탐색 메소드를 직접 구현해서 풀었다. bisect 이용 풀이 from bisect import bisect_left, bisect_right n, x = map(int, input().split()) arr = list(map(int, input().split())) left = bisect_left(arr, x) right = bisect_right(arr, x) result = right - left if result == 0: print("-1") else: print(result) 이진탐색 메소드 직접 구현 풀이 def first(data, target, start, end): if start > end..

    이진탐색 이론

    이진탐색은 이미 정렬되어 있는 데이터에서 절반씩 좁혀가며 탐색하는 방법 "이미 정렬", "절반씩" 0~10억 같은 큰 탐색범위를 보면 가장 먼저 이진탐색을 떠올려라 python에서 이진탐색 구현 def binary_search(data, target, start, end): if start > end: return None mid = (start+end) // 2 if data[mid] == target: return mid elif data[mid] > target: return binary_search(data, target, start, mid-1) else: return binary_search(data, target, mid+1, end) n, target = list(map(int, input..

    2021.02.05 (금)

    연관관계 매핑기초 이진탐색

    EP4. 요구사항 분석과 기본 매핑

    실전 예제로 요구사항 분석과 기본 엔티티 매핑을 해보았다. 기본 엔티티 매핑을 위한 도메인 모델 회원은 여러번 주문할 수 있다. -> 일 대 다 주문할때 여러 상품을 선택할 수 있다. -> 일 대 다 같은 상품이 여러번 주문될 수 있다. -> 다 대 일 테이블 설계 엔티티 설계 엔티티 클래스 코드 Member package jpabook.jpashop.domain; import javax.persistence.*; @Entity @Table() public class Member { @Id @GeneratedValue @Column(name = "MEMBER_ID") private Long id; private String name; private String city; private String str..

    2021.02.04 (목)

    스프링강의 1.5시간분량