일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 알고리즘
- db
- kotlin
- Servlet
- 자바
- springdatajpa
- Android
- 스프링 핵심 원리
- 백준
- 김영한
- AOP
- Greedy
- transaction
- Proxy
- JDBC
- Exception
- 스프링
- java
- QueryDSL
- spring
- 그리디
- jpa
- 스프링 핵심 기능
- http
- SpringBoot
- JPQL
- pointcut
- 인프런
- Thymeleaf
- Spring Boot
- Today
- Total
목록Java (91)
개발자되기 프로젝트
1. Array 특징 동일한 데이터 타입을 순서에 따라 관리 정해진 크기 있음 요소 추가, 제거시 다른 요소의 이동 필요 배열의 i번 째 요소를 찾는 인덱스 연ㅅ나 빠름 jdk : ArrayList, Vector 2. Array 구현 package arrayList; public class MyArray { int[] intArr; int count; public int ARRAY_SIZE; public static final int ERROR_NUM = -99999999; public static final int OK = 200; public MyArray() { count = 0; ARRAY_SIZE = 10; intArr = new int[ARRAY_SIZE]; } public MyArray(in..
1. Tree 부모 노드와 자식 조드간의 연결로 이루어진 자료 구조 Heap: Priority Queue를 구현 complete binary tree : tree채워질 때 왼쪽부터 채워짐. Max heap: 부모 노드는 자식 노드보다 항상 크거나 같은 값을 갖는 경우 Min heap: 부모 노드는 자식 노드보다 항상 작거나 같은 값을 갖는 경우 heap 정렬에 사용할 수 있음. Binary Tree: 부모노드에 자식 노드가 2개 이하인 트리 Binary Search Tree key의 중복을 허용하지 않음 왼쪽 자식 노드는 부모보다 작은 값, 오른 쪽 자식 노드는 부모 노드보다 큰 값 자료 검색에 걸리는 시간 log2(n)ㄷ inorder traversal 탐색을 하게 되면 자료가 정렬되어 출력됨. jdk..
1. 자료구조란? 메모리 상에서데이터를 관리하는 방버 ㅂ 효율적인 자료구조가 성능 좋은 알고리즘의 기반이 됨. 프로그램에 최적인 자료구조를 사용해야함. 2. 자료구조의 종류 한 줄로 자료를 관리 : 선형 자료구조 배열(Array) : 자료를 선형으로 관리, 물리적 위치와 논리적 위치가 같음. 따라서 특정 위치에 자료 꺼내는 속도 빠름. 연결 리스트(LinkedList) : 자료가 추가될 때 마다 메모리 할당 받음. 자료는 링크로 연결됨. 따라서 물리적 위치와 논리적 위치가 다를 수 있음. 자료 뿐만 아니라 다음 자료에 대한 정보도 가지고 있음. 중간에 데이터 추가하거나 삭제하는 경우 Array보다 수행속도 빠름. Stack : Last In First Out Stack Memory : 함수의 호출과 관계..
1. this. 인스턴스 자신의 메모리를 가리킴 public void setName(String name){ this.name = name; } 생성자 안에서 또 다른 생성자를 호출할 때 사용. - 클래스에 생성자가 여러 개인 경우, this를 이용하여 생성자에서 다른 생성자를 호출할 수 있음. - 생성자에서 다른 생성자를 호출하는 경우, 인스턴스 생성이 완전하지 않은 상태이므로, this() statement이전에 다른 statement 쓸 수 없음 public class Person{ private String name; private int age; public Person(){ this("이름없음", 1); } public Person(String name, int age){ this.name ..
1. Map Map은 key & value를 mapping할수 있도록 하는 interface이다. Type parameters: – the type of keys maintained by this map – the type of mapped values public interface Map { Map에서 제공하는 method는 여러 개가 있다. 기타 다른 method는 공식문서 참고. int size() map의 size return boolean isEmpty() map이 empty면 true반환 boolean containsKey(Object key) map이 해당 key를 가지고 있으면 true 반환 boolean containsValue(Object value) map이 해당 value를 가지고 ..
1. 문제 M이상 N이하의 수가 나열되어 순서에 상관없이 나열되어 있다고 할 때, 각 수가 몇 개인지 세어보자. 예를들어 20세 이상 100세 이하의 사람들이 한 장소에 머물러 있다. 연령에 따라 혹은 각 나이에 따른 인원을 체크하자. 2. 배열을 쭉 돌면서 ages배열에 나이 대 별로 counting을 추가한다. 데이터의 수에 computation time이 비례한다. 즉 O(n)이다. 3. 핵심은 찾고자 하는 값에 대한 배열을 만들고 그 배열에 바로바로 입력하는 것. 4. 코드 package Counting; import java.util.Arrays; public class counting { public static void main(String[] args) { int[] people = {55..
1. "모든" 경우에 대하여 탐색하여 결과를 찾음 --> 무식하게 다찾아보기. 2. 문제의 범위가 작은 경우 완전 탐색으로 해를 찾음 3. 수열, 조합과 같은 문제를 푸는데 사용됨. 4. 문제 정의 - 어느 국가에서 10만원, 20만원, 50만원, 100만원, 200만원, 500만원 지폐를 사용. - A는 3000만원 지불 필요. - 6가지 지폐를 활용하여 300만원 지불하는 방법은 모두 몇 가지? 5. 지폐가 늘어나면 for문이 추가됨. computation time이 지수적으로 증가함. 6. code package BruteForceSearch; public class bruteForceSearch { public static void main(String[] args) { int[] bills = ..
1. 지금 상황에서 가장 좋은 해결책을 찾는 알고리즘. 2. 여러 조합에 따른 그 해를 찾는 경우가 많음. 대부분의 조건은 "가장 금액이 큰 순서부터" or "가장면적이 큰 타일을 우선적으로" 등.. 3. 조건이 명확할 때 정확한 답을 찾을 수 있다. 4. 문제 정의 가게에 놀러간 A는 8370원 어치 물건을 구매했다. A는 동전을 아래와 같이 가지고 있다. 500원 : 20개 100원 : 20개 50원 : 20개 10원 : 20개의 동전이 있다. A는 금액을 지불할 때 단위가 큰 동전부터 지불하려고 한다. A가 지불하게 되는 각 동전의 개수를 구해라. 5. code package GreedyAlgorithm; public class greedyAlgorithm { public static void ma..