![[인프런 알고리즘] Chapter 5, 3번 문제(크레인 인형뽑기(카카오))](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FdeFNVo%2FbtsIZa67AEQ%2FAAAAAAAAAAAAAAAAAAAAAJBZuahOJfPhGjtdbHxdSuQwxAkh1-be-NUEzr33Fkzp%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DP4TybJMtfBCDT6Gt2nQ3nK885hM%253D)
이 알고리즘 문제는 인프런의 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 (김태원)의 문제입니다.문제 설명 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Stack;import java.util.StringTokenizer;public class sec05_03 { public static int solution(int[][] board, int[] moves) { int count = 0; Stack stack = new Stack(); for(int i : moves) { ..
![[인프런 알고리즘] Chapter 5, 2번 문제(괄호문자제거)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FcypnMp%2FbtsIU9gfbS2%2FAAAAAAAAAAAAAAAAAAAAAGQma3_jPypa0twQHFdqNHhnWY4oHbXfhlLjzvKVg2DV%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DxgvSxHrgaXnPI9D%252FHKrCXlAxhk4%253D)
이 알고리즘 문제는 인프런의 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 (김태원)의 문제입니다.문제 설명 코드첫 번째 코드(스택 이용)import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Stack;public class sec05_02 { public static String solution(String str) { StringBuilder sb = new StringBuilder(); Stack stack = new Stack(); for(char c : str.toCharArray()) {..
![[인프런 알고리즘] Chapter 5, 1번 문제(올바른 괄호)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FZrmkd%2FbtsIWwgEnzh%2FAAAAAAAAAAAAAAAAAAAAADSwK1N0OvvYVMH-omPbmgIOSuIvqIzlWx5OOu86wvle%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3Dmq7pW9D1Lw7%252BjShxxRVsbP4vEn4%253D)
이 알고리즘 문제는 인프런의 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 (김태원)의 문제입니다.문제 설명 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class sec05_01 { public static String solution(String str) { int left = 0; for(int i = 0; i 설명주어진 문자열 str의 각 문자를 순회하면서 열린 괄호 ’(’의 개수를 카운트하고, 닫힌 괄호 ’)’를 만나면 카운트를 감소시킨다. 이때, 닫힌 괄호가 열린 괄호보다 먼저 나오는 경우(즉, left 변수 left: ..
![[JPA] 병합(Merge)과 변경 감지(Dirty Checking)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbFZDNu%2FbtsIWaxR2k8%2FAAAAAAAAAAAAAAAAAAAAAKU_Wl0gP0Bh_uA_KZVjQ8owS8Q15iz6nfb-370c8RXl%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3Dm7o0hJ%252F%252BWhTHc5KjXJdRT20v7wo%253D)
이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.JPA(Java Persistence API)에서 변경 감지(Dirty Checking)와 병합(Merge)은 엔티티 상태 관리를 위한 중요한 개념이다. 이 두 가지는 데이터베이스와 애플리케이션 간의 동기화를 효율적으로 관리하는 데 사용된다. 결론부터 말하면 두 방법중에 변경 감지를 사용하는 것이 더 좋다. 병합병합(Merge)은 JPA에서 준영속 상태의 엔티티를 영속성 컨텍스트에 포함시키고, 해당 엔티티의 상태를 데이터베이스에 반영하는 작업이다.이 과정은 데이터베이스에 이미 저장된 데이터를 수정할 때 사용된다.@PostMapping(value = "/items/{itemId}/edit")public String..
![[인프런 알고리즘] Chapter 4, 5번 문제(K번째 큰 수)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FSVRxE%2FbtsITvpIyGW%2FAAAAAAAAAAAAAAAAAAAAAEdOgFLQaNGUzGTu-oSxVBWuvrS2tSqPqmcrm1jmVd_X%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DPManNFDYJbeEpYRgTzOr6wvHsHA%253D)
이 알고리즘 문제는 인프런의 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 (김태원)의 문제입니다.문제 설명 코드package inflearn_algorithm.chapter4;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;public class sec04_05 { public static int solution(int N, int K , Integer[] arr) { int count = 1; TreeSet reverseTreeSet = new TreeSet(Comparator.reverseOrder()); ..
![[인프런 알고리즘] Chpater 4, 4번 문제(모든 아나그램 찾기)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FCduj5%2FbtsISqJlnEP%2FAAAAAAAAAAAAAAAAAAAAANDlQpJmpdV4mjbO_O0XLdOsCM8fQzXwedkUUp2Z1UMN%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DhB%252B0dlaMM6z3rtX7To6e%252F9rbPFI%253D)
이 알고리즘 문제는 인프런의 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 (김태원)의 문제입니다.문제 설명 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.HashMap;public class sec04_04 { public static int solution(String S, String T) { int count = 0; HashMap sMap = new HashMap(); HashMap tMap = new HashMap(); for (char c : T.toCharArray()) tMap..
![[JPA] JPQL 고급](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FAEePT%2FbtsITTjajps%2FAAAAAAAAAAAAAAAAAAAAANKDeKKqzPQWG0e2yYkY2YhJ_qCByhOk90XYgs53YKu-%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DPHJEr13y%252Fqz9t2i87K925MR82jI%253D)
이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.경로 표현식JPQL(Java Persistence Query Language)에서 경로 표현식(Path Expression)은 엔터티의 속성에 접근하거나 연관된 엔터티를 탐색하기 위해 사용된다. 이는 객체 그래프를 따라갈 수 있게 하며, 다양한 쿼리에서 데이터를 필터링하고 조회하는 데 중요한 역할을 한다. 쉽게 말하자면 .(점)을 찍어 객체 그래프를 탐색하는 것이다.select m.username -> 상태 필드from Member m join m.team t -> 단일 값 연관 필드 join m.orders o -> 컬렉션 값 연관 필드where t.name = '팀A' 경로 표현식 용어 정리상태 필..
![[인프런 알고리즘] Chapter 4, 3번 문제(매출액의 종류)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FdJpngx%2FbtsISs1mBNb%2FAAAAAAAAAAAAAAAAAAAAAFLuJX8WR3mzuDobhPGrEE-FOMf7kBxl1Igfm2HMx2Pt%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3Db7pDYmsbH8sM2fg0vwfKW%252BlkeNg%253D)
이 알고리즘 문제는 인프런의 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 (김태원)의 문제입니다.문제 설명 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.HashMap;import java.util.StringTokenizer;public class sec04_03 { public static int[] solution(int[] arr, int K) { int[] result = new int[arr.length - K + 1]; HashMap map = new HashMap(); for (int i ..