배열은 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개 이상..
시간 복잡도는 알고리즘의 성능을 나타내는 지표다. 해당 알고리즘을 실행시켰을 때, 연산 횟수에 대한 worst case적인 한계를 의미한다. 시간 복잡도는 낮으면 낮을 수록 좋다. 빅 O 표기법을 통해 알 수 있으며, 현대 컴퓨터에서 대략적으로 1초 연산이 최대 1억번의 연산 횟수를 가진다는 걸 머릿속에 넣어 놓으면 좋다. 이를 통해 우리는 조건이 1초, 1만개가 들어가는 테스트 케이스 범위가 주어졌을 때, O(n^2)은 쓰지 못한다는 걸 직감적으로 알 수 있게 된다. 시간을 측정하려면 절대 시간을 측정하는 방법도 있으나, 그런 방법은 코딩 테스트에서는 잘 활용되지 않는다. 빅오 표기법 1차원 배열에서 가장 값을 늦게 찾는 경우는 리스트의 끝까지 검색했을 때 혹은 값을 못찾았을 때. 즉, O(n)이다. ..
세부 구현이 아닌 동작 중심으로 작성 스케줄 관리 프로그램 1. 스케줄을 입력받는다. 2. 스케줄을 표에 넣는다. 3. 스케줄을 삭제한다 등. 안 좋은 예시 - 크기가 128 바이트인 문자열 배열 10개 설정 및 표준 입력으로 입력받기 실제 프로그래밍 요소는 의사코드에 추가하지 않는다. 문제 해결 순서로 작성 코드로 구현하기 위해 문제 해결의 순서대로 작성 분석도 용이 1. 변수를 입력받는다. 2. 변수가 해당 카테고리에 들어가는지 확인한다. 2-1 들어간다면 append 2-2 들어가지 않는다면 continue 충분히 테스트 의사 코드가 대부분의 테스트 케이스를 통과할 수 있을지 충분히 고민한다. 첫 발을 잘못 내밀면, 잘못된 부분을 수정하는 데 더 어려워진다.
목표 귀무가설과 대립가설을 구분할 수 있다. 제 1종 오류와 제 2종 오류의 차이를 설명할 수 있다. 양측 검정과 단측 검정을 목적에 맞게 설정할 수 있다. 가설 검정이란? 모집단에 어떤 가설을 설정한 뒤, 통계 기법을 이용한 가설의 채택 여부를 확률적으로 판정하는 통계적 추론의 방법 가설 예시 [정치 분야] >주류세 인상은 음주 운전율을 줄였다. [제조 분야] >공정 불량률은 5%가 넘는다 [마케팅 분야] >마케팅 방법에 따른 매출의 변화가 있다. [의약 분야] >신약은 효과가 있다. 어떻게 가설을 검증하나? 귀무가설 - 바교하는 값과 차이가 없다, 동일하다는 걸 전제로 하는 귀무가설 대립가설 - 비교하는 값과 차이가 있다. 어떤 연구자의 목적과 주장을 전체로 하는 대립가설 귀무가설은 H0 : Null..
목표 다변량 시각화를 정의할 수 있다. 파이썬을 활용하여 유형별 다변량 데이터를 시각화할 수 있다. 다변량 시각화 두 개 이상의 변수로 구성된 데이터의 관계를 시각화 기반으로 파악하는 데이터 탐색 유형 주어진 변수 간의 패턴 및 관계를 다양한 그래프의 시각화를 통해 전체적으로 파악한다. 다변량 시각화 종류 데이터 조합 시각화 방안 목적 범주형 - 범주형 모자이크플롯 두 개 범주형 변수 내 범주 별 조합의 빈도 크기를 개략적으로 파악 범주형 - 연속형 박스플롯 평행좌표 범주 별 기술통계량 및 경향성을 개략적으로 파악 연속형 - 연속형 산점도 연속형 변수 간 관계성을 개략적으로 파악(선형/비선형 및 음양 방향 등) 범주형 - 범주형에서는 모자이크 플롯 빈도 크기를 개략적으로 파악 범주 별 기술통계랑 및 경향..