https://ko.khanacademy.org/computing/computer-programming/sql/more-advanced-sql-queries/pt/more-complex-queries-with-andor https://ko.khanacademy.org/computing/computer-programming/sql/more-advanced-sql-queries/pt/querying-in-subqueries CREATE TABLE exercise_logs (id INTEGER PRIMARY KEY AUTOINCREMENT, type TEXT, minutes INTEGER, calories INTEGER, heart_rate INTEGER); INSERT INTO exercise_logs(ty..
https://ko.khanacademy.org/computing/computer-programming/sql/sql-basics/pt/aggregating-data 집계함수의 사용 CREATE TABLE groceries (id INTEGER PRIMARY KEY, name TEXT, quantity INTEGER, aisle INTEGER); INSERT INTO groceries VALUES (1, "Bananas", 4, 7); INSERT INTO groceries VALUES(2, "Peanut Butter", 1, 2); INSERT INTO groceries VALUES(3, "Dark Chocolate Bars", 2, 2); INSERT INTO groceries VALUES(4, "I..
https://ko.khanacademy.org/computing/computer-programming/sql/sql-basics/pt/querying-the-table CREATE TABLE groceries (id INTEGER PRIMARY KEY, name TEXT, quantity INTEGER, aisle INTEGER); INSERT INTO groceries VALUES (1, "Bananas", 4, 7); INSERT INTO groceries VALUES(2, "Peanut Butter", 1, 2); INSERT INTO groceries VALUES(3, "Dark Chocolate Bars", 2, 2); INSERT INTO groceries VALUES(4, "Ice crea..
https://ko.khanacademy.org/computing/computer-programming/sql/sql-basics/pt/creating-a-table-and-inserting-data 테이블 만들기 쇼핑 리스트를 테이블로 만든다고 하자. /** Grocery list: Bnanans (4) Peanut Butter (1) Dark Chocloate Bars (2) **/ 테이블을 만들 때는 CREATE TABLE을 쓴다. CREATE TABLE 이름 (컬럼명 데이터 타입) CREATE TABLE groceries ( ); #에러가 뜬다. 왜냐하면 괄호 한에 열 이름을 적어줘야 하기 때문. 컬럼명에는 각 아이템을 묶어 설명해줄 수 있는 속성을 넣는다. 그리고 그 옆에는 데이터 타입도 같이 ..
배열은 1차원도, 2차원도, 3차원도 메모리에 할당될 때는 메모리가 1차원이므로 메모리에 연속 할당된다. 1차원 배열은 낮은 주소에서 높은 주소로 연이어서 할당된다. 2차원 배열은 1행이 낮은 주소에서 높은 주소로 연이어서 할당된 후, 2행이 낮은 주소에서 높은 주소로 할당된다. 배열의 효율성 배열은 메모리에 임의 접근할 수 있으므로(메모리 특성상 주소를 특정해서 접근할 수 있으므로) 접근에는 시간 복잡도가 O(1)이다. 데이터의 추가, 삭제에는 어디에 있느냐에 따라 다르다. 맨 뒤에 추가할 때는 빈 자리에 그냥 넣으면 되므로 O(1). 그러나 맨 앞에 삽입하려면, 다른 녀석들을 한칸씩 뒤로 옮겨야 하므로 O(n)이 된다. 따라서 append(),pop() 연산은 O(1), pop(0) 연산은 O(n)이..
Early return 함수를 정의했을 때, 함수 끝까지 도달하기 전에 반환한다. def k(a,b): v = a/b if v > 200: #조건에 해당한다면 return v #조기 반환한다. return v 단점 : 함수의 반환이 여러 곳으로 흩어지게 되어 함수의 복잡도를 높이고 가독성을 떨어뜨릴 수 있는 가능성이 존재한다. Gaurd clauses 본문의 로직을 진행하기 전에 예외처리 코드들을 추가 조건문으로 검사하고 함수 종료 def k(a,b): v = a/b if v > 200: #조건에 해당한다면 return None #종료한다. if v ==list: #조건에 해당한다면 return None #종료한다. return v 예외를 줄일 수 있으므로 좋다. Composite method 2개 이상..