일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 코딩테스트 준비
- 항해99
- 배열
- 코딩공부
- 정렬 알고리즘(sort algorithm)
- 이진 탐색(binary search)
- 면접(java
- 자료구조
- Entity
- 코딩
- 메서드
- aop
- 개발자 취업
- 코딩문제
- 99클럽
- css
- cs 공부)준비
- GIT
- 회고
- wil
- 프로그래머스
- Til
- Spring
- Java
- Grafana
- HTML
- 자바
- github
- ArrayList
- 우선순위 큐(priorityqueue)
- Today
- Total
목록전체 글 (164)
hayu's 개발 일지
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/3BlTC/btsH94e0Jhf/xGTHkkynjZxLUIkWOKSf51/img.png)
학습 키워드- 이진 탐색(Binary Search) 공부한 내용이진 탐색 예시해당 예시로 int[] arr = {1, 3, 5, 8, 11, 15, 30, 32, 45}이고 key 값이 8인 경우의 이진탐색을 찾는 원리를 확인한다.while문으로 구성하는 이진 탐색아래의 예시는 정렬된 배열 arr에서 key 값을 찾는 이진 탐색을 구현한 예시이다.public class BinarySearchWhile { public static int binarySearch(int[] arr, int target) { int left = 0; int right = arr.length - 1; while (left 재귀함수를 이용한 이진 탐색높은 인덱스가 낮은 인덱스보다 크거나 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bM7fsQ/btsH90KrIyL/zT6Xs7seW7oxAus3Zw0pXk/img.png)
학습 키워드- 이진 탐색(Binary Search) 공부한 내용이진 탐색(Binary Search)‘정렬된 배열’에서 ‘특정 값’을 찾는 알고리즘을 의미한다.이진탐색은 ‘탐색 범위를 절반씩 줄여’나가기 때문에 선형탐색에 비해 빠른 속도를 보장한다. 하지만 배열이 정렬되어 있어야 한다는 조건이 필요하기 때문에 배열이 정렬되어 있지 않은 경우에는 정렬작업이 필요하다.데이터의 중앙값과 찾고자 하는 값을 비교해 데이터의 크기를 절반씩 줄이면서 대상을 찾는 방식이다.예) 크기가 100인 배열이 있고, 우리가 찾고자 하는 값이 99번째 인덱스에 들어있는 상황을 가정해 보자.일반적인 반복문을 사용하여 1부터 100까지 반복하면 99번째 반복에서 찾고자 하는 값을 찾을 수 있다. 물론 이 경우 찾고자 하는 데이터가 앞..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cKCdjZ/btsH2VaH5Ms/eW0emXlmiXPgz1sZHTA1YK/img.png)
학습 키워드- 면접(JAVA, CS 공부)준비 공부한 내용즉시로딩과 지연로딩은 각각 언제 사용하면 좋은지 설명해주실 수 있을까요?→ 즉시 로딩은 엔티티를 조회할 때 연관된 엔티티도 함께 조회되는 것을 말합니다. 지연 로딩은 엔티티를 조회할 때 연관된 엔티티는 프록시로 조회되며 프록시를 실제 사용할 때 초기화되면서 데이터 베이스를 조회합니다. 즉시 로딩은 쿼리문을 두 번 따로 사용하여 조회하지 않고 연관도니 엔티티를 즉시 조회하는 게 더 유리할 때 사용합니다. 지연 로딩은 필요한 시점에 연관된 엔티티를 조회하여 로딩시간을 줄이고 불필요한 쿼리문 사용을 방지할 수 있어 필요한 데이터 조회시에 사용됩니다. NoSQL과 RDBMS의 특징과 차이점에 대해서 장, 단점을 들어 설명해주세요.→ NoSQL의 특징은 스..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/GdjMV/btsH1kQquUd/pDtCW6f1UJw6owRGP54AkK/img.png)
학습 키워드- 공부한 내용빅오 복잡성 차트(Big-O Complexity Chart)💡 빅오 표기법을 이용하여 알고리즘의 시간 복잡도를 분석하면, 입력 크기가 커질 때 어떤 알고리즘이 더 효율적인지 비교할 수 있다.https://www.bigocheatsheet.com/표기법 이름 시간 복잡도 설명 예시O(1)상수상수 시간입력 크기와 상관없이 일정한 실행 시간을 가집니다.배열에서 원소 하나 찾기O(logn)로그로그 시간입력 크기가 증가함에 따라 실행 시간이 로그함수의 형태로 증가합니다.이진 탐색 알고리즘O(n)선형선형 시간입력 크기와 비례하는 실행 시간을 가집니다.선형 탐색 알고리즘O(nlogn)로그 선형선형 로그 시간입력 크기가 증가함에 따라 실행 시간이 로그함수와 선형 함수의 곱의 형태로 증가합니..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/woSmO/btsH1PvMSio/htcY9KoTk47Jm8CsKnztn0/img.png)
학습 키워드- Big-O 표기법 공부한 내용시간복잡도**(Time Complexity)**알고리즘이 실행될 때 필요한 ‘입력값’과 ‘연산 수행 시간’에 따라 효율적인 알고리즘을 나타내는 척도를 의미한다.즉, 입력 값이 커질수록 알고리즘의 수행 시간이 어떻게 증가하는디에 따른 지표를 의미한다.시간 복잡도는 ‘빅오 표기법(Big-O notation)’를 통해 표현하며, ‘수치가 작을수록 효율적인 알고리즘’을 의미한다.공간 복잡도(Space Complexity)알고리즘이 실행될 때 필요한 ‘메모리의 공간의 양’을 의미한다.즉, 알고리즘의 효율성을 판단하는 데 사용되며 일반적으로 메모리 사용량이 적을수록 더 효율적인 알고리즘이라고 할 수 있다.공간 복잡도는 일반적으로 알고리즘의 시간 복잡도와 함께 고려되며 알고..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/0dPPs/btsH1nGhOkw/JeulcmvijgOXuvaTIWngH0/img.png)
학습 키워드- 우선순위 큐(PriorityQueue) 공부한 내용우선순위 큐 선언 방법// 낮은 수가 우선순위를 가짐PriorityQueue pq = new PriorityQueue();// 높은 수가 우선순위를 가짐PriorityQueue pq = new PriorityQueue(Collections.reverseOrder());//String형 priorityQueue 선언 (우선순위가 낮은 숫자 순)PriorityQueue priorityQueue = new PriorityQueue(); //String형 priorityQueue 선언 (우선순위가 높은 숫자 순)PriorityQueue priorityQueue = new PriorityQueue(Collections.reverseOrder());우..