Algorithm

Algorithm

1137. N-th Tribonacci Number

1. 문제https://leetcode.com/problems/n-th-tribonacci-number/description/?envType=study-plan-v2&envId=leetcode-75 2. 요구사항1) n번째 Tribonacci 수를 구한다.2) Tribonacci 수열은 초기값이 0, 1, 1로 시작하며, Tn = T(n - 1) + T(n - 2) + T(n - 3)으로 정의된다. 3. 코드class Solution { int tribonacci(int n) { if (n == 0) return 0; else if (n == 1) return 1; else if (n == 2) return 1; // 초기값 설정 int t0 = 0, t1 = 1, t2 = ..

Algorithm

[Dart] 933. Number of Recent Calls

1. 문제https://leetcode.com/problems/number-of-recent-calls/description/?envType=study-plan-v2&envId=leetcode-75 2. 요구사항1) RecentCounter 클래스는 주어진 시간 범위 내에서 호출 수를 기록하고 반환한다.2) RecentCounter()는 RecentCounter 객체를 초기화한다.3) int Ping(int t)는 시간 t에 요청이 발생했다고 기록한다.4) 현재 시점(t)에서 과거 3000밀리초 이내에 발생한 요청의 수를 반환한다. 3. 코드import 'dart:collection';class RecentCounter { final Queue queue = Queue(); RecentCoun..

Algorithm

[Algorithm] JAVA 정렬 알고리즘 - 삽입정렬(Insertion Sort)

ㅇ 삽입 정렬 (Insertion Sort) 정렬된 데이터 범위에 정렬되지 않은 데이터를 적절한 위치에 삽입하여 정렬하는 방식이다. 평균 시간복잡도는 O(n²)로 느린 편이지만 구현하기 쉽다. ㅇ 삽입 정렬의 이해 삽입 정렬의 과정은 다음과 같다. ① index 1의 데이터를 선택한다. ② 선택 인덱스(index 1)의 데이터와 이전 정렬된 데이터 범위의 데이터를 비교하여 삽입될 위치를 찾는다. ③ 삽입 위치에 데이터를 삽입한다. ④ index 1에서 index 2로 변경한다. 위 과정을 반복하며 정렬한다. 5 4 1 3 2 라는 배열을 초기 상태를 두고 그림으로 표현하면 다음과 같다. index 1에 해당하는 숫자를 선택하여 정렬된 데이터 범위 내의 어디에 삽입 될 것인지 찾는다. 적절한 위치를 찾으면..

Algorithm

[Algorithm] JAVA 정렬 알고리즘 - 선택정렬(Selection Sort)

ㅇ 정렬이란? 데이터를 정해진 기준에 따라 배치해 의미 있는 구조로 재설정하는 것이다. 즉, 내림차 순이나 오름차 순으로 다시 배치하는 것이다. ㅇ 정렬의 종류 ① 버블 정렬(Bubble Sort) : 데이터의 인접 요소끼리 비교하고, swap 연산을 수행하며 정렬하는 방식 ② 선택 정렬(Selection Sort) : 대상에서 가장 크거나 작은 데이터를 찾아가 선택을 반복하면서 정렬하는 방식 ③ 삽입 정렬(Insertion Sort) : 대상을 선택해 정렬된 영역에서 선택 데이터의 적절한 위치를 찾아 삽입하면서 정렬하는 방식 ④ 퀵 정렬(Quick Sort) : pivot 값을 선정해 해당 값을 기준으로 정렬하는 방식 ⑤ 병합 정렬(Merge Sort) : 이미 정렬된 부분 집합들을 효율적으로 병합해 ..

Meezzi
'Algorithm' 카테고리의 글 목록