배열 배열은 인덱스와 값을 일대일 대응해 관리하는 자료구조 이다. 데이터를 저장할 수 있는 모든 공간은 인덱스와 일대일 대응하므로 어떤 위치에 있는 데이터든 한 번에 접근할 수 있다. 배열 선언일반적인 방법 arr = [0, 0, 0, 0, 0, 0] arr = [0] * 6 리스트 생성자 사용arr = list(range(6)) #[0,1,2,3,4,5] 리스트 컴프리헨션을 활용하는 방법arr = [0 for _ in range(6)] # [0, 0, 0, 0, 0, 0] 배열과 차원배열은 2차원, 3차원 배열과 같이 다차원 배열을 사용할 때도 많다. 하지만 컴퓨터 메모리의 구조는 1차원이므로, 2차원, 3차원 배열도 실제로는 1차원 공간에 저장한다. 다시 말해 배열은 차원과는 무관하게 메모리..
챕터 질문 답변1. 리스트의 기본 개념- 리스트의 개념에 대해 정리해주세요순서가 있는 요소들의 집합. 가변적(mutable)인 데이터 타입으로 선언 이후 추가, 제거, 수정할 수 있다. 대괄호로 정의하며 각 요소를 쉼표로 구분함. 2. 리스트의 효율성- 리스트의 임의 접근의 시간 복잡도는 무엇인가요?인덱스를 이용한 임의 접근의 시간 복잡도는 O(1) 이다. 즉 상수 시간. - 리스트의 맨 앞이나 중간에 데이터를 삽입할 때 시간 복잡도가 어떻게 달라지는지 설명해주세요.삽입 위치 이후의 모든 요소들을 한 칸씩 뒤로 이동시켜야 한다. 이로 인해 시간복잡도는 O(n)이 된다. 리스트의 맨 뒤에 데이터를 삽입하는 경우는 O(n)의 복잡도를 가진다. 3. 튜플- 튜플의 개념과 리스트와의 차이점을 설명해주세요.튜플은..
빌트인 데이터 타입정수형 :양의 정수, 음의 정수, 0사칙연산(+ ,- ,* ,/) 외 많은 연산(비교연산, 비트연산, 논리연산 등) 가능print(a / b) # 나누기 (소수점 포함) / 3.25print(a // b) # 나누기 (소수점 제외) / 3 부동소수형 : 소수를 저장할 때 사용. 사칙연산과 정수형 나누기, 모듈러(%), 제곱 연산(**), 논리 연산 등 가능print(10.0 // 3.2) # 정수형 나누기 / 3.0print(10.0 % 3.2) # 모듈러 / 0.39999999999999947print(2.0 ** 3.2) # 제곱 연산 / 9.18958683997628 부동소수형 코드 실행 결과를 보면 10 % 3.2의 연산 결과를 보면 결괏값이 0.4가 아니라 0...
리스트에서 데이터 추가 append() 리스트의 맨 끝에 데이터 추가 my_list = [1,2,3] my_list.append(4) #[1,2,3,4] + 연산자로 데이터 추가 my_list = [1,2,3] my_list = my_list + [4,5] #[1,2,3,4,5] insert() insert()메서드로 데이터 삽입 insert(삽입할 위치, 삽입할 데이터) my_list = [1,2,3,4,5] my_list.insert(2,9999) #[1, 2, 9999, 3, 4, 5] 리스트에서 데이터 삭제 pop() pop()메서드로 인덱스를 인수로 받아 삭제하고, 삭제한 데이터의 값을 반환 my_list = [1,2,3,4,5] popped_element = my_list.pop(2) #3 p..
바이러스 https://www.acmicpc.net/problem/2606 01 […new Array(N)] 설명 […new Array(N)] 과 [new Array(N)]의 차이점 [new Array(N)]: 모든 요소를 undefined로 초기화된 크기 N의 배열 생성 const num = 3; const newArr = [...new Array(num)]; console.log(newArr); //[Array(3)] let Arr = […new Array(N)] : …rest parameter가 있는 경우 array로 초기화된 배열 생성 const num2 = 3; const arr = [new Array(num2)]; console.log(arr); //// [arr(), undefined, un..