[알고리즘] 버블 정렬
선택 정렬에 이어서 버블 정렬이다. 버블 정렬은 선택 정렬과 마찬가지로 직관적인 해결 방법이다. 옆에 있는 값과 비교해서 더 작은 값을 앞으로 보내자 구현은 가장 쉽지만, 가장 비효율적인 알고리즘이라고 할 수 있다. 아래 코드와 실행 결과를 보도록 하자. const BubbleSort = () => { let i, j, temp; const arr = [1, 10, 5, 8, 7, 6, 4, 3, 2, 9]; for (i = 0; i arr[j + 1]) { temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } for (i = 0; i < 10; i+..
[알고리즘] 선택 정렬
알고리즘을 공부할 때 정렬을 제일 먼저 배우는 이유는 간단하다. 알고리즘의 효율성을 극명하게 보여주는 좋은 예시이기 때문이다. 선택 정렬이란? [가장 작은 것을 선택해서 가장 앞으로 보내는 정렬] 효율적이진 않지만 가장 쉽고 직관적으로 짤 수 있다. 1부터 10까지 정렬하는 코드를 작성해보자. const selectionSort = () => { let i, j, min, index, temp; const arr = [1, 10, 5, 8, 7, 6, 4, 3, 2, 9]; for (i = 0; i < 10; i++) { // 10보다 큰 min값을 저장한다. min = 9999; // 현재 탐색하고 있는 원소가 현재 최소값보다 작다면 바꿔준다. for (j = i; j < 10; j++) { if (m..
[Java] 열거 타입
열거 타입은 한정된 값인 열거 상수 중에서 하나의 상수를 저장하는 타입이다. 데이터 중에는 몇 가지로 한정된 값만을 가지는 경우가 있다. 예를 들면 요일에 대한 데이터는 월, 화, 수, 목, 금, 토, 일이라는 7개의 값만을 갖고, 계절 또한 봄, 여름, 가을, 겨울이라는 4개의 값만 가진다. 이처럼 한정된 값만을 가지는 타입을 열거 타입이라고 한다. 열거 타입 선언 Week.java MemberList.java KindOfCoffee.java 위와 같이 열거 타입 소스 파일을 만들 때는 첫 글자는 대문자로, 여러 단어로 나뉜다면 그 단어의 첫 스펠링을 대문자로 해주면 된다. 소스파일을 만들었다면 열거 타입 선언을 해야하는데, public enum 키워드는 열거타입을 선언하기 위한 키워드이며, 반드시 소..