- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- TypeScript
- Nodejs
- Express
- flutter
- jsonwebtoken
- MYSQL
- css
- single quote
- mongoose
- certbot
- findByIdAndDelete
- JavaScript
- atlas
- clipBehavior
- Find
- AWS
- RDS
- TailwindCSS
- sequelize
- nginx
- https
- moment
- til
- wil
- mongodb
- await
- async
- Node.js
- double quote
- EC2
목록분류 전체보기 (93)
기억 휘발 방지소
화면을 캡처하지는 못했는데 FileZilla에서 EC2에 접속하려고 하니까 FATAL ERROR: No supported authentication methods available (server sent: publickey) 에러가 발생했다. 구글에 검색해보니까 FileZilla 업데이트를 하고 해결했다는 것을 보고 FileZilla를 업데이트 했더니 바로 해결되었다!
📌 삽입정렬 (Insertion Sort) 배열에서 현재 자신의 위치보다 앞에 이미 정렬된 부분과 비교하여 자신의 위치를 찾아 삽입하는 정렬 방법이다. 👉 과정 Loop 1 [5, 3, 8, 1, 2, 7] current_idx: 1 current_val: 3 arr[current_idx - 1]: 5 인덱스 1번에 5삽입 [5, 5, 8, 1, 2, 7] current_idx: 0 current_val: 3 arr[current_idx - 1]: 5 current_idx가 0이 됐기 때문에 while문에 걸리지 않고 인덱스 0에 current_val을 삽입 [3, 5, 8, 1, 2, 7] current_idx: 0 current_val: 3 arr[current_idx - 1]: 5 Loop 2 [3..
📌 선택정렬 (Selection Sort) 주어진 리스트에서 가장 작은 값을 찾고 그 값을 맨 앞에 있는 값과 교체한다. 그리고 맨 처음 위치를 제외한 나머지 리스트를 같은 방법으로 교체하는 방법이다. 버블 정렬과 마찬가지로 O(n^2)의 시간복잡도를 갖는다. 👉 과정 [3, 4, 2, 5, 1] 최소값인 1과 3 swap [1, 4, 2, 5, 3] 최소값 2와 4 swap [1, 2, 4, 5, 3] 최소값 3과 4 swap [1, 2, 3, 5, 4] 최소값 4와 5 swap [1, 2, 3, 4, 5] 남은 숫자가 5 하나 남았기 때문에 자동으로 5가 최소값이 된다. [1, 2, 3, 4, 5] 정렬 끝 👉 구현 def selection_sort(arr): for i in range(len(arr..
📌 버블정렬 (Bubble Sort) 버블 정렬은 뒤에서부터 앞으로 정렬하는 특징을 갖고 있다. 가장 큰 수가 맨 뒤로 가고 그 다음 큰 수가 그 앞에 위치하게 된다. 시간복잡도는 O(n^2)이다. 👉 과정 [3, 2, 4, 5, 1] 3과 2 swap 가장 앞에 수와 그 다음 수를 비교해서 앞에 있는 수가 더 크면 두 수를 swap한다. [2, 3, 4, 5, 1] 3과 4를 비교하는데 3이 더 작기 때문에 swap 없이 넘어간다. [2, 3, 4, 5, 1] 4와 5도 마찬가지로 4가 5보다 더 작기 때문에 swap 없이 넘어간다. [2, 3, 4, 5, 1] 5와 1 swap 5가 1보다 크기 때문에 5와 1을 swap [2, 3, 4, 1, 5] 가장 큰 수인 5는 자리가 정해졌기 때문에 이 다음..
N 진수 ➡️ 10 진수 변환 N진수에서 10진수로 변환하는 방법은 파이썬에서는 매우 간단하다. int() 함수를 사용하면 된다. int 함수는 실수를 정수로 변환해주는 역할도 하지만 밑(base)을 사용할 수도 있다. int(value, base)의 형태로 사용하면 된다. value는 값이고 base는 밑이다. value는 0, base는 10이 초기값이다. base는 2~36 사이의 값을 입력할 수 있다. print(int('1011', 2)) # 2^3 + 2^1 + 1 = 11 print(int('16', 8)) # 1 * 8^1 + 6 * 1 = 14 print(int('F', 16)) # 15 * 1 = 15 각각 2진수, 8진수 16진수를 10진수로 변환한 것이다. 이렇게 하면 쉽게 10진수..
자연수 N (N > 0)이 주어졌을 때 N의 약수 구하기 👉 단순한 방법 def find_divisor(n): divisors = [] for i in range(1, n + 1): if n % i == 0: divisors.append(i) return divisors num = 100 print(find_divisor(num)) # [1, 2, 4, 5, 10, 20, 25, 50, 100] 반복문을 1부터 n까지 돌려준다. 만약 n을 i로 나누었을 때 나누어 떨어지면 약수이므로 divisor_list 배열에 저장해준다. 시간복잡도: O(N) 👉 좀 더 효율적인 방법 def find_divisor(n): divisors = [] for i in range(1, int(n**0.5) + 1): if n..