알고리즘 문제를 풀다보면 임의의 객체들을 정렬해야하는 경우가 있다. 이때 사용자가 원하는 기준으로 정렬을 하기 위해 사용하는 인터페이스인 Comparable과 Comparator에 대해 알아보자.
자동 빈 등록과 수동 빈 등록 중 어떤 것을 사용하는 것이 실무 운영에 합리적일까? 각각의 특징을 파악하고 상황에 따라 어떤 것을 선택할지에 대해 알아보자.
@Autowired는 타입을 기준으로 빈을 찾고 주입해준다. 이때 같은 타입의 빈이 있을 때 어떻게 로직이 실행되고 문제가 발생하는 경우 어떻게 해결할 수 있는지에 대해 알아보자.
다양한 의존관계 주입 방법 의존관계 주입은 크게 4가지 방법이 있다. 각 방법의 특징과 어떤 걸 사용하는게 좋은지 알아보자.
기본 아이디어: 배열의 있는 숫자들의 개수를 센 뒤 크기에 따라서 배열을 정렬해준다. 카운팅정렬은 안정정렬이다.작동방식1\. 배열(arr)에서 가장 큰 값을 찾는다. 이 값이 개수를 세어주는 배열의 길이가 된다.2\. 숫자들의 개수를 저장하는 배열(countArr)을
기본 아이디어: 현재 비교하고자 하는 target원소와 이전의 원소들을 삽입할 위치를 정한 후 나머지 원소를 오른쪽으로 옮기고 그 자리에 target원소를 삽입하는 방식이다. 삽입정렬은 안정정렬이다.작동방식1\. 2번째 원소부터 비교를 시작한다.2\. target원소
기본 아이디어: 주어진 자료로부터 가장 작은 값의 원소부터 차례대로 선택해서 위치를 교환하는 방식작동방식1\. 주어진 자료 중 최솟값을 찾는다.2\. 찾은 값을 리스트의 가장 왼쪽값과 교환한다.3\. 교환한 가장 왼쪽값을 제외하고 1,2 과정을 반복한다.시간복잡도: O