목록분류 전체보기 (121)
예지의 개발 로그포스 (Yeji's Log Force)
▶실수형 표기 . 만 붙이면 저절로 a = 5. b = .7 print하면 5.0 과 0.7로 출력 됨 ▶ e또는 E를 이용한 지수표기 숫자e^지수 = 숫자*10^지수 (숫자 x 10의 N제곱) 예를 들어 1e9는 1*10^9 = 1,000,000,000(10억) 가령, 그래프 알고리즘 등에서 임의이 큰 수를 무한(INF)로 설정할 때, 가능한 최댓값이 10억 미만이라면 INF = 1e9 로 표기하는 등 이용한다. 이건 실수형 데이터이므로 정수형 데이터로 처리해야하는 상황(혹은 실수연산 오차 막고자 할때)이면 a = int(1e9) 이런식으로 형변환 해주면 된다. ▶ round() 파이썬은 IEEE754표준. 실수형 정보를 표현할 때 정확하지 않다. 0.3 + 0.6을 0.9로 가지지 못하고 0.8999..
1. Big-O Notation 빅오 표기법 가장 빠르게 증가하는 항만 고려하면 된다.(상한) -> 연산 횟수가 3N^3 + 5N^2 + 1000000이라면 O(N^3)으로 표현 - 좋은 것 부터(빠른) O(1) 상수 시간 O(logN) 로그 시간 O(N) 선형 시간 O(NlogN) 로그 선형 시간 O(N^2) 이차 시간 O(N^3) 삼차 시간 O(2^n) 지수 시간 O(N!) 팩토리얼 시간 - 나쁜 것 까지(느린) 예시 1) N개 데이터 합을 구하는 코드 array = [3,5,1,2,4] sum = 0 for x in array: sum += x print(sum) 정답: O(N) 예시 2) 2중 반복문을 이용한 코드 array = [3,5,1,2,4] for i in array: for j in a..
https://www.youtube.com/watch?v=T3sXKtlr0Ow&list=PLe6NQuuFBu7FhPfxkjDd2cWnTy2y_w_jZ&index=2 Container / Aggregator: 동일한 형태의 데이터를 여러 개 지닌 것 그 예시로는 Array, Linked List, Tree, Graph, Table(DBMS) 등이 있다. 1. Iterator의 개념 이 데이터들을 가져오는 방법은 Aggregator의 종류에 따라 모두 다르기 때문에 이를 통일된 방법으로 가져오도록 돕는 것이 Iterator pattern이다. 다양한 형태의 Aggregator의 데이터에 접근할 때에 표준화 된 공통API. 한편으로는 Aggregator의 자료구조를 노출하지 않아도(혹은 몰라도) 내부 데이터에..
최근 인터랙티브 무비 개발을 하면서 클래스 간의 관계를 맺고 정리하는 부분에서 부족함을 느꼈다. 이 부분의 발전을 위해서 디자인 패턴을 공부해보기로 했다. https://www.youtube.com/watch?v=An7kqZ5D7j8&list=PLe6NQuuFBu7FhPfxkjDd2cWnTy2y_w_jZ 디자인 패턴: 패턴처럼 자주 나타나는 클래스 사이에 관계를 맺는 방법 하나의 클래스가 많은 기능을 갖는 것은 바람직하지 않다. 한 클래스의 역할은 하나 내지는 최소한인 것이 좋다. 이렇게 하면 문제 발생 시 코드 수정/유지보수가 편하고 새로운 기능 추가하기에도 편하기 때문이다. GoF개발자분들이 만든 디자인 패턴이 가장 대표적이다. GoF는 객체지향 문제점을 분석해 카탈로그화 하여 아래와 같이 패턴으로 ..