[ 정의 ] 정적 타입을 이용해서 SQL등의 쿼리를 생성해주는 프레임워크 → 쿼리를 자바코드로 작성할 수 있게 도와줌 Spring Data JPA로 해결하지 못하는 쿼리 해결 가능 코드로 쿼리를 작성함으로써, 컴파일 시점에 문법 오류를 쉽게 확인 결과적으로, QueryDsl로 작성한 코드는 JPQL이 됨 [ QueryDSL Config 설정 ] @Configuration public class QueryDslConfig { @Bean public JPAQueryFactory jpaQueryFactory(EntityManager em){ return new JPAQueryFactory(em); } } JPAQueryFactory빈을 등록 → QueryRepository에서 사용 [ Query Reposit..
전체 글
[ Controller 생성 ] 요청에 따른 적절한 응답을 보냄 @RequiredArgsConstructor 필드 주입(@Autowired) 대신 사용하는 생성자 주입! 순환 참조 방지 테스트 코드 작성 용이 객체 변이 방지 ( final 키워드 사용 ) More: https://zorba91.tistory.com/238 @RequestBody 클라이언트가 전송하는 Json 형태의 HTTP Body 내용을 Java Object로 변환 메세지를 변환하는 과정에서 객체의 기본 생성자를 통해 객체를 생성하고, 내부적으로 Reflection을 사용해 값을 할당 → 기본 생성자는 필요하고 Setter는 필요하지 않은 이유! @PathVariable URI 경로의 일부를 파라미터로 사용할 때 사용 @RequestP..
1. Entity 생성 미리 작성된 ERD를 바탕으로 도메인 생성 @Entity @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) public class Todo extends BaseEntity { @Id @GeneratedValue private Long seq; @Builder public Todo(String name, String content, TodoStatus status, Integer predictedPomo, Integer realPomo, WorkProficiency workProficiency, WorkType workType, WorkImportance workImportance) { this.name = name; this..

문제 (Gold 3) https://www.acmicpc.net/problem/4933 4933번: 뉴턴의 사과 각 테스트 케이스에 대해서, 두 트리가 동등하면 true를, 아니면 false를 출력한다. www.acmicpc.net 풀이 입력 받은 값을 어떻게 트리로 만드느냐를 생각하는 것이 관건. 입력은 포스트오더(후위순회)로 주어진다고 하니 stack을 활용하여 트리 구성 후위순회로 주어진 그래프의 stack 변환 로직 1. 현재 넣으려는 노드(i)가 null이 아니고, 이미 스택에 2개 이상 쌓여있다면 2. 맨 나중에 넣은 노드(stack.pop())가 오른쪽 노드 3. 그 전에 넣은 노드(stack.pop())가 왼쪽 노드 4. right와 left노드의 부모를 현재 노드(i)로 설정 5. 현재 ..

문제 (Gold 2) https://www.acmicpc.net/problem/11780 11780번: 플로이드 2 첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번호가 www.acmicpc.net 풀이 모든 경로에 대한 최소 비용을 구해야 하므로 '플로이드-워샬 알고리즘' 사용! 최소 비용 외, 경로에 대한 내용도 저장해야 하므로 이차원배열 변수 하나 더 선언 map[i][j]: i -> j 경로의 최소 비용 저장 path[i][j]: i에서 출발해서 j까지 도착하기 직전에 들르는 도시 바로 오는 길(map[i][j])보다 경로 k를 거쳐서 오는 길(map[i][k..

문제 (Silver 2) https://www.acmicpc.net/problem/18222 18222번: 투에-모스 문자열 0과 1로 이루어진 길이가 무한한 문자열 X가 있다. 이 문자열은 다음과 같은 과정으로 만들어진다. X는 맨 처음에 "0"으로 시작한다. X에서 0을 1로, 1을 0으로 뒤바꾼 문자열 X'을 만든다. X의 뒤에 www.acmicpc.net 풀이 접근 설명 1과 0을 1과 -1이라고 생각하자! ( 부호의 차이로 생각하자! ) 2의 제곱 수(2,4,8,16,...)만큼 앞뒤로 대칭되고 있는 문자열! 즉, N보다 작은 2의 제곱수를 뺀 인덱스 값(N - (2*?)) 을 알면 N의 값을 알게 됨 위의 예시로 설명하자면, 27번째 값은 11번째 값과 같음(부호만 반대) 11번째 값은 3번째..