분류 전체보기 59

구현(implementation)

구현이란, 머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정 구현 유형의 문제: 풀이를 떠올리는 것은 쉽지만 소스코드로 옮기기는 어려운 문제 구현유형 예시 알고리즘은 간단한데 코드가 지나칠만큼 길어지는 문제 (언어별로 다를 수 있음) 실수 연산을 다루고, 특정 소수점 자리까지 출력해야 하는 문제 문자열을 특정한 기준에 따라서 끊어 처리해야하는 문제 (문자열은 파이썬이 처리가 쉬운편) 적절한 라이브러리를 찾아서 사용해야 하는 문제 (ex 모든 순열, 모든 조합 찾기 등) 일반적으로 알고리즘 문제에서 2차원 공간은 행렬(Matrix)의 의미로 사용됨 시뮬레이션 및 완전 탐색 문제는 2차원 공간에서의 방향 벡터가 자주 활용된다. 시뮬레이션 BFS나 재귀와 같이 특정 자료구조 혹은 알고리즘에 종속되지 않고 주어진..

자료구조: 우선순위 큐(Priority Queue) 와 힙(Heap)

우선순위 큐 - 우선순위가 가장 높은 데이터를 가장 먼저 삭제하는 자료구조 - 데이터를 우선순위에 따라 처리하고 싶을 때 사용한다. ex) 물건 데이터를 자료구조에 넣었다가 가치가 높은 물건부터 꺼내서 확인하는 경우 자료구조 추출되는 데이터 스택(Stack) 가장 나중에 삽입된 데이터 큐(Queue) 가장 먼저 삽입된 데이터 우선순위 큐(Priority Queue) 가장 우선순위가 높은 데이터 우선순위 큐 구현 방법 1) 리스트를 이용하여 구현 2) 힙(heap)을 이용하여 구현 데이터의 개수가 N개일 때, 구현 방식에 따른 시간 복잡도 우선순위 큐 구현방식 삽입 시간 삭제 시간 리스트 O(1) O(N) 힙(Heap) O(logN) O(logN) 단순히 N개의 데이터를 힙에 넣었다가 모두 꺼내는 작업은 ..

정렬 - 삽입정렬(Insertion Sort)

삽입정렬 정렬되지 않은 첫 인덱스를 선택 후 하나씩 오른쪽으로 늘어간다. 앞쪽부터 정렬해가며 정렬되어있지 않은 새로운 값이 정렬되어있는 값과 비교하여 작다면 맞는 위치에 삽입하여 정렬한다. firstUnsortedIndex = this is the first index of the unsorted partion i = index used to traverse the sorted partiton from right to left newElement = the value we want to insert into the sorted partion - array[firstUnsortedIndex] java예제 int[] intArray = {20,13, -22,7,34,1,-20}; for(int firstUn..

정렬 - 선택정렬(Selection Sort)

선택정렬 - 버블정렬과 비슷한 알고리즘 - 배열 중 최댓값을 선택하여 정렬이 되어있지 않은 제일 마지막 자리(오른쪽)로 옮긴다. lastUnsortedIndex = this is the last index of the unsorted partition 비정렬된 마지막 인덱스를 구한다(처음에는 array length -1 ) i = index used to traverse the array from left to right i는 1부터 비정렬된 마지막 인덱스까지 1씩 늘어나며 비교한다 largest = index of largest element in unsorted partition largest 는 비정렬된 값중의 최댓값을 가지고 있는 배열의 인덱스 java 예제 public class Main { p..

비전공자 SQLD 일주일 합격 후기 (공부팁,문제집추천,공부기간)

안녕하세용ㅎㅎㅎ 이번에는 SQLD 합격후기를 들고왔습니다 저는 비전공자이지만 지금 개발자로 1년 일한 경력이 있어서 쿼리를 많이 다뤄봤다는 것을 알고계시면 좋겠습니다 SQLD자격증은 필기문제로 50문항으로 이루어져있고 두과목으로 데이터 모델링의 이해, SQL기본 및 활용이 있습니다 각 과목당 40%이상 맞아야 하고 총 문제중 60점 이상 맞아야 합격입니다 부끄럽지만 점수공개,, ㅎㅎ 66점으로 합격했습니다 저는 시험보기 일주일 전부터 SQL자격검정 시험문제 (일명 sql 노랑이)로 공부를 했습니다. https://msearch.shopping.naver.com/book/catalog/32473599661?cat_id=50010601&frm=MBOKPRO&query=sqld%2B%25EC%259E%2590..

자격증/SQLD 2022.08.10

정렬 - 버블정렬 (Bubble sort)

버블정렬 서로 인접한 두 원소를 비교하여 정렬하는 알고리즘 - 비교하여 왼쪽이 오른쪽 보다 크다면 둘이 바꿈.(왼쪽->오른쪽) unsortedPartitionIndex = the last index of the unsorted partition i = index used to traverse the array from left to right 특징 - 구현이 간단하다 - 하나의 요소가 가장 왼쪽에서 가장 오른쪽으로 이동하기 위해서는 배열에서 모든 다른 요소들과 교환되어야 한다. 시간복잡도 비교 횟수 최상, 평균, 최악 모두 일정 n-1, n-2, … , 2, 1 번 = n(n-1)/2 교환 횟수 입력 자료가 역순으로 정렬되어 있는 최악의 경우, 한 번 교환하기 위하여 3번의 이동(SWAP 함수의 작업)이..

Unexpected exception during bean creation; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder '' in value "${}" 에러

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'messageSource' defined in class path resource [com/spring/practice/api/config/MessageConfiguration.class]: Unexpected exception during bean creation; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'spring.message.basename' in value "${spring.message.basename}" at org.spr..

장애 개선/Error 2022.07.19

데이터 구조와 알고리즘 2: Big-O 시간복잡도

복잡도 - 시간복잡도 : 중요 - 메모리복잡도 : 메모리가 싸서 요새는 큰 문제가 안됨. 티를 만들때 설탕을 얼마나 넣느냐에 따라 필요한 스텝이 늘어난다. Big-O 원하는 설탕 양 : n 필요한 총 단계 = 2n+2 시간복잡도는 O(n)이다. Big-O 종류 O(1) Constant O(logn) Logarithmic O(n) Linear O(nlogn) n log-star n O(n2) Quadratic (발음 법 O of n , O of nlogn ..) 시간복잡도 크기순서 O(1) < O(logn) < O(n) < O(nlogn) < O(n2) < O(2n) < O(n!)

data Structures and Algorithms 데이터 구조와 알고리즘 1:개요

section1 : introduction data structure The fact is, there aren't just two sides to any issue, there's almost always a range of responses, and "it depends" is almost always the right answer in any big question. -Linus Torvalds 중요한 것은, 문제를 해결하는데에는 양면의 방법만 있는게 아니라, 항상 다양한 응답이 있다 그리고 어떤 큰 문제에서든지 항상 때에 따라 다른 것이 정답이다. Algorithms There can be many algorithms that accomplish the same task. 같은 문제를 해결하기 위..

mac 에 h2 database 설치 + 연결 안될때

https://www.h2database.com/html/main.html H2 Database Engine H2 Database Engine Welcome to H2, the Java SQL database. The main features of H2 are: Very fast, open source, JDBC API Embedded and server modes; in-memory databases Browser based Console application Small footprint: around 2.5 MB jar file size Supp www.h2database.com 여기에서 all platforms 클릭 후 zip 파일 받아지면 압축 해제하기 cmd창 켜서 h2의 bin으로 이동 cd ..

개발 공부 2022.06.19