전체 글

데이터 엔지니어링, 자동화에 관심을 갖고 공부 중입니다.
Python

[Python] 람다(Lambda) 함수 개념과 활용

람다(lambda) 함수란?python에서 'def'로 함수를 정의하여 사용한다. 그러나 람다 표현식(lambda expression)을 통해 간단하게 함수를 작성할 수 있다. 람다 함수는 익명(anonymous) 함수라고도 부르며, 함수를 인자로 넣을 때 주로 사용한다. 람다 표현식을 시작으로 람다 함수의 개념과 사용법을 알아보자.람다 표현식(lambda expression)람다 표현식은 람다 함수(익명 함수)를 만드는 데 사용된다. 람다 표현식은 다음과 형태로 사용하며, 함수 객체를 가지게 된다.# parameter_list : 매개변수, expression : 표현식lambda [parameter_list] : expression정의된 함수 객체는 아래와 같은 함수 객체처럼 동작한다.def (par..

[프로그래머스] 데이터 엔지니어링 데브코스 3기/TIL(Today I Learn)

[TIL - 4일 차] 데이터 엔지니어링 : 자료구조/알고리즘 풀기 (4)

해시(Hash) 대표 문제 풀이 : 완주하지 못한 선수 해시(Hash) 만약 이름 대신 번호가 주어졌다면? => 선형 배열 이름을 키(key)로 하여 해시 함수(Hash function)를 통해 해시 테이블(hash table)에 매핑 풀이 (1) 사전(Dictionary)의 원소들을 해시를 이용해 O(1) 시간에 접근 가능 사전을 활용하여 "이름 : 이름 수"로 저장하여 마지막 남은 사람의 이름 반환 코드 get(x, 0) : x라는 키가 존재하면 해당 값을, 존재하지 않으면 0을 반환 최종 시간 복잡도 : O(n) def solution(participant, completion): d = {} # O(n) for x in participant: d[x] = d.get(x, 0) + 1 # O(n) ..

[프로그래머스] 데이터 엔지니어링 데브코스 3기/TIL(Today I Learn)

[TIL - 3일 차] 데이터 엔지니어링 : 자료구조/알고리즘 풀기 (3)

큐(Queue) 자료를 보관할 수 있는 선형 구조 선입선출(FIFO) 구조로 enqueue 연산과 dequeue 연산 존재 size, isEmpty, enqueue는 스택의 메소드와 같고, dequeue와 peek만 다름 배열을 이용하여 구현 Python 리스트와 메서드 이용 class Queue: def __init__(self): self.data = [] # 큐의 원소의 수 def size(self): return len(self.data) # 큐가 비어 있는지 판단 def isEmpty(self): return self.size() == 0 # 데이터 원소 추가 def enqueue(self, item): self.data.append(item) # 가장 앞 데이터 원소 제거/반환 def dequ..

[프로그래머스] 데이터 엔지니어링 데브코스 3기/TIL(Today I Learn)

[TIL - 2일 차] 데이터 엔지니어링 : 자료구조/알고리즘 풀기 (2)

연결 리스트(Linked Lists) (1) 추상적 자료구조(Abstract Data Structures) 내부 구현은 숨겨져 있는 상태로 사용하는 자료구조 데이터 : 정수, 문자열, 레코드 등 연산 : 삽입, 삭제, 순회, 정렬, 탐색 등 기본적 연결리스트 앞에 있는 노드가 뒤에 있는 노드를 가리키도록 되어있는 자료구조 형태 노드 : Data(문자열, 레코드, 또 다른 연결 리스트 등), Link (next)가 담김 Head : 연결 리스트의 가장 앞의 노드를 가리키는 포인터 Tail : 연결 리스트의 가장 마지막 노드를 가리키는 포인터 자료구조 정의 노드 클래스 class Node: def __init__(self, item): self.data = item self.next = None 연결리스트 ..

기억에 남는 블로그 닉네임
얕게, 깊게