//////
Search
🍒

[1014]삽입 정렬, *.sql 파일 만들고 DB넣기, sql문법 정리

생성일
2022/11/10 07:58
태그
TodayILearn
java
생성일 1

알고리즘

삽입 정렬

손안의 카드를 정렬하는 방법과 유사
자료 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여, 자신의 위치에 삽입하는 정렬

삽입정렬 특징

알고리즘 자체가 간단하며 안정 정렬(Stable Sort)
배열이 거의 정렬되어 있는 경우엔 효율적
비교적 많은 배열 값들의 이동을 포함하므로 배열 길이가 길어질수록 비효율적

삽입정렬의 동작 과정

1.
현재 타겟이 되는 숫자와 이전 위치에 있는 원소들을 비교한다. (첫 번째 타겟은 두 번째 원소부터 시작한다.)
2.
타겟이 되는 숫자가 이전 위치에 있던 원소보다 작다면 위치를 서로 교환한다.
3.
그 다음 타겟을 찾아 위와 같은 방법으로 반복한다.

삽입정렬 코드

public class InsertionSort03 { // 메서드 public int[] sort(int[] arr) { // 배열을 구분하다 // int i 넣는이유 : 재귀(recursive) 때문 // loop for(int i = 1; i < arr.length; i++) { for(int j = i; j > 0; j--) { // j는 i가 증가 할때 한개씩 빼며 반복 // System.out.printf("i:%d j:%d j-1:%d\n", i, j, j-1); if(arr[j] < arr[j-1]) { // indext의 값을 비교 후 자리를 바꾼다. // {8, 5, 6, 2, 4} -> {5, 8, 6, 2, 4} int temp = arr[j]; // swap 하기 arr[j] = arr[j-1]; arr[j-1] = temp; } } } return arr; } public static void main(String[] args) { // 5에서 출발 합니다. int[] arr = {8, 5, 6, 2, 4}; InsertionSort03 is = new InsertionSort03(); int[] result = is.sort(arr); System.out.println(Arrays.toString(result)); } }
Plain Text
복사

SQL 문법 정리

SELECT

Database에 질문하여 답을 얻는 것
SELECT COUNT(subdivision) FROM seoul_hospital WHERE subdivision <> "";
SQL
복사
1000개의 데이터만 가져오기
SELECT * FROM seoul_hospital limit 1000; #limit 필요
SQL
복사
subdivision, name 컬럼만 불러 오기
SELECT subdivision, name FROM seoul_hospital limit 1000;
SQL
복사
상세 조건 넣을 때 WHERE
SELECT subdivision, name FROM seoul_hospital WHERE subdivision = "" limit 1000;
SQL
복사
AND 조건과 Like 검색
SELECT subdivision, name FROM seoul_hospital WHERE subdivision = "" and name like "%이비인후과%" limit 1000;
SQL
복사
like 구문 사용시 %를 와일드카드로 사용
update 쿼리 by id
UPDATE seoul_hospital SET subdivision = "이비인후과" WHERE id = "A1100196"
SQL
복사
Update [table] SET [column = 값] Where [조건]
count 특정 조건인 데이터 개수 세기
SELECT count(name) FROM seoul_hospital where subdivision = "" and name like "%이비인후과%" limit 1000;
SQL
복사