목록View All (350)
DATA101
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bJSvOm/btq3KQ0FZjK/KvJ9ds7gSdWLmaA2jk2RGk/img.png)
본 포스팅에서는 클래스 상속(Class Inheritance)의 의미를 알아보고 파이썬으로 실습합니다. 또한, 메서드 오버라이딩(method overriding)과 슈퍼 함수(super)까지 알아봅니다. 📚목차 1. 클래스 상속이란? 1.1. 클래스 상속의 의미 1.2. 부모 클래스와 자식 클래스 1.3. 클래스 상속 방법 2. 클래스 상속 예시 3. 메서드 오버라이딩(method overriding) 4. 슈퍼 함수(super) 1. 클래스 상속이란? 1.1. 클래스 상속의 의미 클래스 상속은 기존에 정의한 클래스의 속성 및 메서드를 그대로 사용할 수 있도록 클래스 간에 물려주거나 받는 것을 의미합니다. 즉, 클래스 상속은 중복된 메서드를 재정의할 필요가 없다는 장점이 있습니다. 또한, 기존 클래스에서..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bW9Cp0/btq3DJJnyeM/Em9pj5z7KhUNU5QAOvNdm1/img.png)
지난 포스팅에서는 클래스, 객체, 속성, 생성 함수에 대한 의미와 파이썬에서 이들을 다루는 방법에 대해 알아보았습니다. 이번 포스팅에서는 클래스에서 메서드(method)와 스태틱/클래스 메서드(static/class method)에 대해 알아봅니다. 목차 1. 메서드(method) 1.1. 메서드 정의 1.2. 내장 클래스 및 메서드 활용 예시 1.3. 메서드 종류 2. 인스턴스 메서드(instance method) 3. 스태틱/클래스 메서드(static/class method) 1. 메서드(method) 1.1. 메서드 정의 메서드(method)는 클래스의 객체에서 호출하여 속성에 대한 연산을 수행하는 역할을 하며, 멤버 함수(member function)라고도 부릅니다. 아래와 같이 "[객체 이름]...
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/beasYQ/btq3xm7QUsR/Ga6pa7xfKalVVvKmmlIuGK/img.jpg)
오늘은 프로그래밍 관점에서 클래스(class), 객체(object), 속성(attribut), 함수(method)에 대해 알아봅니다. 간단하게 이론적인 부분에 대해 살펴본 후 실제 파이썬에서 클래스와 객체를 생성하는 방법부터 객체별 속성을 정의하는 방법에 대해 알아봅니다. 목차 1. 이론적 배경 1.1. 클래스(Class) 1.2. 객체(Object) 1.3. 속성(Attribute) 1.4. 함수(Method) 2. 파이썬 클래시 예시: 리스트(List) 3. 파이썬에서 클래스 구현 3.1. 클래스 및 객체 생성 3.1.1. 클래스 생성 3.1.2. 객체 생성 3.2. 생성자 함수(__init__) 3.3. 속성(Attribute) 정의 3.3.1. 정적인(static) 속성 정의 3.3.2. 동적인(..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bd8ftR/btq3l5dlXUm/d38LqhrBUp1Ut8kYMjKVx1/img.png)
본 포스팅에서는 완전 이진 트리(Complete Binary Tree) 자료구조에 대해 알아봅니다. * 완전 이진 트리(Complete Binary Tree) 자료구조란? 완전 이진 트리란 각 노드가 최대 2개의 자식 노드를 갖는 트리 형태의 자료구조로서 마지막 레벨을 제외한 모든 노드는 완전히 채워져 있어야 합니다. 또한, 최하단 레벨의 노드는 좌측만 노드가 채워져 있거나 좌측과 우측 모두 채워져 있어야 하며, 노드를 삽입할 때는 최하단 좌측 노드부터 차례대로 삽입해야 합니다(그림 1 참고). 그림 1 우측 트리는 노드 12의 자식 노드가 우측에만 삽입되어 있기 때문에 완전 이진트리라고 할 수 없습니다. 포스팅 내용에 오류가 있을 경우 댓글 남겨주시면 감사드리겠습니다. 그럼 오늘도 건강한 하루 보내시길..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/zTvyx/btq2MOdDe0H/GpFGdlhimHU3KkkdLw7HDk/img.png)
본 포스팅에서는 파라메트릭 서치(parametric search)에 대해 알아봅니다. 📚 목차 1. 파라메트릭 서치란? 2. 파라메트릭 서치는 언제 사용하면 좋을까? 3. 파라메트릭 서치와 이진 탐색 간의 차이점 4. 파라메트릭 서치의 동작 과정 4.1. 파라메트릭 서치 예시 4.2. 파라메트릭 서치의 시간 복잡도 1. 파라메트릭 서치란? 파라메트릭 서치는 최적화 문제를 결정 문제로 바꾸어 풀어 나가는 기법입니다. 여기서 결정 문제란 'yes' or 'no', 즉, '예' 또는 '아니오'로 답하는 문제를 말합니다. 파라메트릭 서치는 주로 특정 조건을 만족하면서 동시에 가장 적합한 변숫값을 찾아나가는 문제에서 활용되며, 이진 탐색(Binary Search)을 이용하여 구현합니다. 예를 들어, 특정 조건을 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cycUSX/btq2Jw94ayT/1tlfuyMVnRDqzeUHV0T9p0/img.png)
파이썬 내장 함수 ord(), chr()는 유니코드(Unicode)를 활용하여 문자열-숫자 간의 변환을 도와줍니다. 두 함수를 각각 살펴보도록 하겠습니다. 1. chr() 함수: 숫자👉문자열 변환 chr(숫자) chr() 함수 안에 숫자형 데이터를 입력하면 해당 숫자와 같은 유니코드 포인트를 갖는 문자열을 반환해 줍니다. 예를 들어, 97을 입력하면 문자열 'a'가 출력됩니다. 숫자-알파벳 간의 유니코드 포인트 정보를 포스팅 맨 아래 표 1 에 정리해 두었습니다. 필요하신 분들은 참고하시길 바랍니다. 2. ord() 함수: 문자열👉숫자 변환 ord(문자열) chr() 함수와 반대로, ord() 함수는 문자열을 입력하면 해당 문자열과 같은 유니코드 포인트를 갖는 정수를 반환해 줍니다. 예를 들어, 'a'를..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/I3jiK/btq2ETEbyKF/viRRN3gecKxEJrDr1pNe61/img.png)
안녕하세요, 오늘은 다양한 수학적 계산이나 기호를 쉽게 활용할 수 있도록 도와주는 math 파이썬 표준 라이브러리에 대해 알아보도록 하겠습니다. 그럼 바로 시작하죠! 목차 1. 팩토리얼(factorial) 2. 제곱근(square root) 3. 최대 공약수(Greatest Common Divisor, GCD) 4. 최소 공배수(Least Common Multiple, LCM) 5. 자연상수(\(e\)) 6. 파이(\(\pi\)) 1. 팩토리얼(factorial) 팩토리얼(factorial)은 \(n\) 개의 데이터를 일렬로 나열하는 경우의 수로서 수학적으로는 \(n!\) 과 같이 표현합니다. math 라이브러리의 factorial() 함수를 사용하여 경우의 수를 편리하게 계산할 수 있습니다. 다음은 \..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bUj5Bs/btq2C40HK76/TwnM7MkvGeKNWcUXyi14d1/img.png)
안녕하세요, 오늘은 파이썬 Counter 함수를 활용하여 리스트 내 원소 개수를 구하는 방법에 대해 소개해 드립니다. 소스코드 from collections import Counter # 과일 정보를 저장한 리스트 생성 arr = ['Apple', 'Banana', 'Orange', 'Apple', 'Grape', 'Orange', 'Water Melon'] cnt = Counter(arr) print(cnt['Apple']) # 사과 개수 print(cnt['Orange']) # 오렌지 개수 print(dict(cnt)) # 딕셔너리 자료형으로 출력 가장 먼저, 리스트 내 원소의 개수를 세기 위해서는 collections 파이썬 표준 라이브러리에서 Counter 함수를 가져와야 합니다. 해당 함수에 리..