[코테] 필수 문법

YB N·2024년 10월 7일
0

코딩테스트

목록 보기
2/4

빌트인 데이터 타입

기본 데이터 타입

  • 정수형 int
  • 부동소수형 float
  • 문자열 string

epsilon을 포함한 연산에 주의할 것

float data를 표현할 때 이진법을 사용하기 때문에 반드시 오차가 발생함
즉, 0.1+0.1 != 0.2 인 현상이 발생함이 부분을 항상 생각할 것

컬렉션 데이터 타입

  • 리스트 list
  • 튜플 tuple
  • 딕셔너리 dictionary
  • 집합 set
  • 문자열 string

mutable object

list, dictionary, set

mutable 객체의 수정은 어떻게 동작할까?

my_list = [1, 2, 3, 4, 5]
my_list[4] = 6

이렇게 값을 수정하면 my_list가 참조하고 있던 값이 수정됨

immutable object

tuple, int, float, string

a = 4
b = a
b += 2

이렇게 하면 처음 b를 정의할 때는 a가 참조하고 있던 위치를 참조하지만
4(int)는 immutable object이기 때문에 수정하지 못하고 새로운 참조 위치를 만들어서
다른 값(6)을 참조함

함수

lambda expression

익명함수(anonymous function) : 이름 없이 한번만 사용하고 말거나 다른 함수의 인수로 사용하는 함수

람다식의 활용>>

# 1. 변수로 참조하기
add = lambda x, y : x + y
print(add(4,5))
# 2. 인수로 람다식 넘기기
num = [1, 2, 3]
square = list(map(lambda x : x**2, num))
print(square)

코드 구현 노하우

조기 반환 Early Return

코드 실행 과정이 함수 끝까지 도달하기 전에 반환하는 기법

def total_price(quantity, price):
	total = quantity * price
    if total > 100:
    	return total * 0.9 # 조기 반환
    return total

보호 구문 Guard Clauses

본격 로직을 진행하기 전에 예외처리 코드를 추가하는 기법

def calculate_average(numbers):
	if numbers is None:
    	return None
    if not isinstance(numbers, list):
    	return None
    if len(numbers) == 0:
    	return None
    
    total = sum(numbers)
    avg = total / len(numbers)
    return avg

합성함수 Composite method

2개 이상의 함수를 활용하여 추가로 함수를 만드는 기법
보통 합성함수는 람다식을 활용함

def add_three(x):
	return x + 3

def square(x):
	return x * x

composed_function = lambda x: square(add_three(x))
print(composed_function(3))
profile
우주대귀욤

0개의 댓글