알고리즘4 02. Built-in Sequence Type 파이썬의 내장 시퀀스 타입 내장 시퀀스(sequence) 데이터 타입은 다음과 같은 속성을 갖는다. 맴버십 연산 : in 키워드 사용 가능 크기(size) 함수 : len(seq) 사용 가능 iterability slicing 가변성(mutable) vs 불변성(emutable) 가변형 타입 : 리스트, 바이트 불변형 타입 : 튜플, 문자열, 바이트 배열 얕은 복사(shallow copy) vs 깊은 복사(deep copy) 코드 참조 네임드 튜플(named tuple) 일반 튜플과 비슷한 성능과 특성을 갖지만, 인덱스뿐 아니라 이름으로 참조 가능 tuple과 마찬가지로 immutable 하다. 바이트와 바이트 배열 원시 바이트(raw byte)를 처리하는데 사용할 수 있는 데이터 타입이다. 불변 타입 .. 2020. 5. 12. 01. 숫자 숫자 파이썬에서 정수는 int 이며 immutable 하다. 정수의 크기는 4Byte(32bit)이다. 최대공약수(GCD) 유클리드 호제법을 사용 최소공배수(LCM) 최대공약수를 이용하여 lcm을 구할 수 있다. gcd를 g라고 가정하면 a = ga, b = gb 이다.(단, a, b은 서로소) lcm은 gab 이므로 lcm = a * b / gcd(a, b) 라고 할 수 있다. 피고나치 수열(Fibonacci sequence) 피고나치 수열(fibonacci sequence)은 첫째 및 둘째 항이 1이며, 그 이후의 모든 항은 바로 앞 두항의 합인 수열 1 1 2 3 5 8 13 21 ... find_fibonacci_seq_iter()의 시간복잡도는 O(n)을 갖는다. find_fibonacci_se.. 2020. 5. 8. Node.js: 01. 단방향 암호화 1. 단방향 암호화 단방향 암호화란 복호화할 수 없는 암호화 방식이다. (암호 --> 암호화) 고객의 빌밀번호를 암호화하여 DB에 저장한다. 로그인시 입력받은 비밀번호를 같은 방법으로 암호화한 후, DB 비밀번호와 비교한다. 원래 비밀번호는 어디에도 저장되어있지 않다. 단방향 암호화 알고리즘은 주로 해시 기법을 사용한다. 해시 기법은 어떠한 문자열을 고정된 길이의 문자열로 바꾸는 방식이다. 2. cryptoe 다양한 방식의 암호화를 도와주는 모듈이다. createHash('알고리즘') : 사용할 해시 알고리즘을 넣어준다. update() : 변환할 문자열을 넣어준다. digest('알고리즘') : 인코딩할 알고리즘을 넣어준다. // 단방향 암호화 알고리즘 const crypto = require('cry.. 2019. 9. 27. 자료구조: 순차 탐색(Sequential Search) & 이진 탐색(Binary Search) 순차 탐색(Sequential Search) 이란? 특정한 원소를 찾기 위해 원소를 순차적으로 하나씩 탐색하는 방법이다. O(N)의 시간복잡도를 갖는다. 이진 탐색(Binary Search) 이란? 배열 내부 데이터가 이미 정렬 되어 있는 상황에서 사용 가능한 알고리즘이다. 탐색 범위를 절반씩 좁혀가며 데이터를 탐색하는 특징이 있다. 한번 확인할 때마다 확인해야 하는 원소의 개수가 절반씩 줄어든다는 점에서 탐색 시간이 O(logN)의 시간복잡도를 갖는다. 코드 // 순차 탐색(Sequential Search) #define _CRT_SECURE_NO_WARNINGS #include #include #include #define LENGTH 1000 char **array; int founded = 0; .. 2019. 8. 30. 이전 1 다음