프로그래밍 이야기/파이썬 코딩 테스트 스터디

파이썬 코딩테스트 스터디 2주차 #1 - 배열 개념, 배열의 효율성

hoony926 2024. 6. 7. 09:00


열 

 

배열 선언

방법 1. 배열 값들을 나열

- arr1 = [1,2,3,4,5]

- arr2 = [0]*6            # 6개의 0이 순차적으로 저장

 

방법 2. 리스트 생성자 사용

- arr = list(range(6))  # [0,1,2,3,4,5]

 

방법 3. 리스트 컴프리헨션 활용

- arr = [0 for _ in range(6)]

 

Java에서의 배열은 선언후 크기 변경이 안되는데
Python에서 배열은 동적으로 크기 조절이 가능하다는 점이 완전 대박!

 

* 배열 ! 뮤터블 객체! 

 


배열과 차원

1차원 배열

 

코딩 테스트 합격자 되기 - 파이썬 편 93p

 

 

2차원 배열

 

책에 나온 설명과 이미지를 그대로 가져오는게 훨씬 훨씬 나을 것 같아
이번 포스팅에서는 특히 더 많이 참조하고 있습니다.

 

코딩 테스트 합격자 되기 - 파이썬 편 93p

 

 

코딩 테스트 합격자 되기 - 파이썬 편 94p

 

 

 


 

배열의 효율성

배열 연산의 시간 복잡도

다시 한번 리마인드하면,

시간 복잡도는 최악의 경우를 계산해 표현한다.

 

 

1. 접근(조회)할 때 

배열은 임의 접근이라는 방법으로 배열의 모든 위치에 있는 데이터에
단 한 번에 접근할 수 있기 때문에

시간 복잡도 : O(1)

 

 

 

 

2. 맨 뒤에 삽입할 때 

    시간 복잡도 : O(1)

 

3. 맨 앞에 삽입 할 때 : 데이터를 오른쪽으로 전부 차례차례 한칸씩 미뤄야하기 때문에

    시간 복잡도 : O(N)

 

4. 중간에 삽입할 때

    시간 복잡도 : O(N)

 

 


 

자주 활용하는 리스트 기법

리스트에 데이터 추가

 

1. append() : 리스트 제일 끝에 데이터 추가하는 내장 함수

 

2. append() : 리스트 제일 끝에 데이터 추가하는 내장 함수

함수 호출

 

 

 


 

람다식 

람다식은 함수를 더 간단하게 표현하는 방법.

람다식은 익명 함수를 만드는 데 사용하는데, 여기서 익명함수랑

딱 한 번 실행할 목적으로 사용하는 용도(다른 함수의 인수로 사용)

 

람다식 정의

lambda x, y : x + y    #x와 y를 받아서 더한 값을 반환하는 람다식

 

람다식은 변수로 참조할 수 있다.

add = lambda x, y : x+y
print(add(5,4))

 

람다식을 인수로 넘길 수 있다.

 

num = [1,2,3,4,5]                                              #리스트 선언
squares = list(map(lambda x: x**2, num))     #람다식 넘기기 

위 list(map(a,b))의 경우 a람다식을 적용해 b의 원소를 각각 제곱한 결과값을 새로운 리스트로 반환한다.

 

 

list(map( 함수 또는 타입 , list))

의 경우 다소 생소해 찾아보니 아래와 같이 실수를 전부 정수로 바꾸는 경우도 있었다.

 

 

한가지 더 살펴보자

a = list(map(str,range(10)))

 

range(10)의 경우 0~9까지 int로 반환하는데 

 

각 값을 다시 string으로 변환해서 list로 저장한다. 

 

 

 


 

 

코딩 테스트 코드 구현 노하우

 

조기 반환

코딩 테스트 합격자 되기 - 파이썬 편 85p

 

보호 구문 (예외 처리)

코딩 테스트 합격자 되기 - 파이썬 편 86p

 

 

if not isinstance( param1, A type) → param1이 A type이 아니면 if구문 실행

 

 

합성 함수

합성함수는 2개 이상의 함수를 활용하여 함수를 추가로 만드는 기법.

보통 합성함수는 람다식을 활용.

코딩 테스트 합격자 되기 - 파이썬 편 87p

 

 

 


 

 

'프로그래밍 이야기/파이썬 코딩 테스트 스터디' 카테고리의 글 목록

hoony926 님의 블로그 입니다.

hoony926.tistory.com

 

 

♬ 자료 출처 - 책

코딩 테스트 합격자 되기 - 파이썬 편

 

 

 

이 포스팅의 모든 내용은 해당 책의 내용을 바탕으로 하고 있습니다. 

감사합니다.