본문 바로가기

이론70

[210929] 백준 2751번 문제 풀이 / 수 정렬하기 2 문제의 핵心 1. 데이터 개수가 최대 1,000,000개다. 2. 카운팅 정렬을 활용하여 빠르게 정렬한다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Q7_2751 { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); boolean[] arr = new boole.. 2021. 9. 28.
[JPA] JPA를 사용해야 하는 이유 JPA는 대안이다. 아주 훌륭한. 어떤 기술로부터 , 왜, 어떻게 JPA가 탄생하고 쓰이게 되었을까 에 대해 포스팅해본다. 01. SQL 중심적인 개발의 문제점 무한 반복, 지루한 코드 CRUD .. INSERT INTO , UPDATE , INSERT , DELETE ✋ 객체에 필드를 하나추가한다면? 모든 쿼리문에 필드를 추가해야한다. Member 객체를 조회할 때 속해져있는 Team 도 같이 조회해야할까? 02. 패러다임의 불일치 📍 객체 vs 관계형 데이터 베이스의 차이 1. 상속 관계형 DB에는 상속 개념이 존재하지 않는다. data를 저장하려면 객체를 분해하여 해당 테이블에 맞는 data를 각각 INSERT , INSERT , UPDATE ... 해주어야한다. 따라서 DB에 저장할 객체에는 상속.. 2021. 9. 26.
[210926] 백준 10814번 문제 풀이 / 나이순 정렬 문제의 핵心 1. 나이, 이름의 정보를 입력받은 뒤에 나이를 기준으로 정렬한다. 2. 카운팅 정렬을 활용하여 빠르게 정렬한다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Q1_10814 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); in.. 2021. 9. 26.
[JPA] Proxy 프록시 01. Proxy 프록시가 필요한 상황 📍 Member 객체를 조회할 때 속해져있는 Team 도 같이 조회해야할까? public void printUserAndTeam(String memberId) { Member member = entityManager.find(Member.class, memberId); Team team = member.getTeam(); System.out.println("회원 이름" + member.getUserName()); System.out.println("소속팀" + team.getName()); } Team은 어쩌다 한 번 필요해서 회원을 조회할 때 마다 매번 같이 조회하는 것은 낭비인 상황이다. 이런 경우 보통 Member 클래스의 Team 필드에 아래와 같은 어노테이.. 2021. 9. 18.
[210916] 백준 5397번 문제 풀이 / 키로거 문제의 핵心 1. 문자열 크기가 최대 1,000,000이므로 시뮬레이션 방식으로는 문제를 해결할 수 없다. 2. 스택을 활용하여 선형시간 문제를 해결할 수 있는 알고리즘을 설계한다. 3. 스택 두 개를 만들고, 스택 두 개의 중간 지점을 커너(Cursor)로 간주한다. 4. 문자 입력 : 왼쪽 스택에 원소를 삽입한다. 5. - 입력 : 왼쪽 스택에서 원소를 삭제한다. 6. 입력 : 오른쪽 스택에서 왼쪽 스택으로 원소를 이동한다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Stack; .. 2021. 9. 16.
[210916] 백준 1966번 문제 풀이 / 프린터 큐 문제의 핵心 1. 데이터의 개수(N 0) { StringTokenizer st = new StringTokenizer(br.readLine()); int N = Integer.parseInt(st.nextToken()); int M = Integer.parseInt(st.nextToken()); LinkedList q = new LinkedList(); st = new StringTokenizer(br.readLine()); for(int i=0; i 2021. 9. 16.