※ 공부 내용의 복습 개념으로 정리된 글입니다. - 출처 시나공 삽입 정렬(Insertion Sort)삽입 정렬은 가장 간단한 정렬 방식으로 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬합니다.두 번째 키와 첫 번째 키를 비교해 순서대로 나열(1회전)하고, 이어서 세 번째 키를 첫 번째, 두 번째 키와 비교해 순서대로 나열(2회전)하고, 계속해서 n번째 키를 앞의 n - 1개의 키와 비교하여 알맞은 순서에 삽입하여 정렬하는 방식입니다.평균과 최악 모두 수행 시간 복잡도는 O(n²)입니다.예제 : 8, 5, 6, 2, 4를 삽입 정렬로 정렬하시오. 쉘 정렬(Shell Sort)쉘 정렬은 삽입 정렬(Insertion Sort)을 확장한 개념입니다.입력 파일을 어떤 매개변수(h)의..
2024.09.05기준 - 실버3백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 테이프를 이용해 물을 막을 때, 최소 몇개의 테이프를 사용하는지 출력하는 문제입니다. 접근 방법입력받은 물이 새는 위치를 우선순위 큐로 정렬과 동시에 입력을 받았습니다.처음 테이프를 붙인 위치에서 한 번에 테이프를 붙일 수 있는지 확인해 최소 테이프의 개수를 구했습니다. 1. 입력받은 위치를 우선순위 큐에 저장합니다.// 입력 받은 물이 새는 위치를 오름차순으로 정렬.PriorityQueue q = new PriorityQueue();st = new StringTokenizer(br.readLine());while (n-- > 0) { q.add(Integer.parseInt(st.nextToken())..
2024.08.28기준 - 실버3백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 고양이들 중에 2마리를 안을 때 주어진 무게(k) 보다 작거나 같은 짝을 구하는 문제입니다. 투 포인터 알고리즘을 이용하여 문제에 접근을 했습니다.고양이 무게를 저장한 배열을 정렬을 하여 가벼운 고양이와 무거운 고양이 2가지의 분류로 나누어 진행했습니다. 1. 가벼운 고양이 기준으로 반복문을 돌리면서 무거운 고양이의 인덱스를 따로 계산을 해주었습니다.2. 만약 2마리의 고양이 무게의 합이 k보다 크다면 무거운 고양이의 인덱스를 줄여줍니다.3. 무거운 고양이의 인덱스가 가벼운 고양이의 인덱스보다 작거나 같다면 모든 반복문을 종료시킵니다.4. 만약, 2마리의 고양이 무게가 k이하라면 count를 올려주어 계산을 ..
2024.08.24기준 - 실버2백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 주어진 자연수들로 수열을 만들 때, 수열의 중복없이 사전순으로 출력하는 문제입니다. 예제 2번을 통해 같이 설명을 진행하도록 하겠습니다.//예제24 29 7 9 1 1. 입력된 자연수들을 리스트에 저장시켜 정렬을 해줍니다.수를 미리 정렬을 시켜 수열을 출력할 때, 정렬된 수열을 차례로대로 출력하기 위해서 입니다.st = new StringTokenizer(br.readLine());for (int i = 0; i 2. 입력된 수들로 수열을 만들어 문자열로 출력을 해줍니다.// 수열을 만들어 문자열로 출력해주는 함수.private static void function(int len) { if (len ==..