파이썬 | 포인터와 참조
·
Computer Science/Python
포인터와 참조는 메모리 주소와 객체에 대한 접근을 관리하는 방식으로, 주로 프로그래밍 언어에서 데이터 구조를 다룰 때 사용됩니다.포인터란?포인터는 특정 데이터의 메모리 주소를 저장하는 변수입니다. 포인터를 통해 데이터의 위치를 직접 참조하고 수정할 수 있습니다. 참조란?참조는 변수나 객체를 가리키는 이름입니다. 즉, 실제 데이터가 있는 곳을 가리키는 "주소"와 같은 역할을 합니다. 하지만 직접 데이터가 아니라 그 데이터에 대한 접근 경로를 제공합니다. 예시num1 = 11num2 = num1print("Before num2 value is updated:")print("num1 =", num1)print("num2 =", num2)print("\nnum1 points to:", id(num1))print..
파이썬 | 객체 지향 프로그래밍(OOP), 클래스(Class), 생성자(Constructor)
·
Computer Science/Python
객체 지향 프로그래밍(OOP)은 데이터를 객체 형태로 모델링하여 프로그램을 구성하는 방법입니다. 이 글에서는 클래스와 생성자, 그리고 이들을 활용하여 객체를 생성하고 속성을 관리하는 방법에 대해 설명하겠습니다. 클래스(Class)클래스는 객체를 생성하기 위한 청사진입니다. 클래스는 속성(데이터)과 메서드(함수)를 정의하여, 객체가 어떤 데이터를 가질 수 있고 어떤 동작을 수행할 수 있는지를 명시합니다. class Cookie: def __init__(self, color): self.color = color #__init__ 생성자를 사용하여 객체의 color 속성을 초기화합니다__init__ 메서드는 생성자로, 객체가 생성될 때 호출되어 초기화 작업을 수행합니다. 이 메서드는 각 객체..
파이썬 | 시간 복잡도(Time Complexity), Big O, O(n), O(n^2), O(1), O(log n), O(a + b)
·
Computer Science/Python
시간 복잡도(Time Complexity)란?시간 복잡도는 알고리즘이 실행되는 데 걸리는 시간을 입력 크기 n에 따라 분석하는 방법입니다. 이는 알고리즘의 효율성을 평가하는 중요한 요소 중 하나로, 입력 데이터가 커질수록 실행 시간이 어떻게 변하는지를 측정합니다. 일반적으로 시간 복잡도는 Big O 표기법을 사용하여 나타냅니다.Big O, Big Omega, Big Theta시간 복잡도에는 크게 세 가지 종류의 표기법이 있습니다.Big O (O): 알고리즘의 최악의 경우를 나타냅니다. 이는 입력 크기가 커질 때, 알고리즘이 소요할 수 있는 최대 실행 시간을 뜻합니다. 우리는 보통 Big O에 집중하여, 최악의 경우 성능을 평가합니다.Big Omega (Ω): 알고리즘의 최선의 경우를 나타내며, 최소한 이..
캐나다 취업 | 회사 세 개 면접 후기! 면접 질문 모음
·
Canada/Work
최근 세 개의 회사에서 면접을 보았고, 그 경험을 정리하여 공유하려 합니다. 각 회사의 면접 과정과 질문들이 달랐고, 그만큼 배울 점도 많았어요. 취업 준비 중인 분들에게 도움이 될 수 있도록 면접 질문과 과정에서 느꼈던 점을 함께 나눌게요.1. 첫 번째 회사첫 번째로 면접을 봤던 회사는 글로벌 금융 트레이딩 회사였고, Data Analyst 포지션에 지원했습니다. 면접은 총 세 번의 단계로 진행된다고 안내받았지만, 아쉽게도 저는 첫 번째 단계에서 탈락하게 되었습니다.HR 전화 면접:회사를 알고 있냐는 질문면접이 시작되자마자 회사에 대해 알고 있는지 물어보셨어요. 그 후 면접관이 추가로 회사에 대해 더 자세히 설명해 주셨습니다. 자기 소개그 다음에는 자기소개를 부탁하셨습니다.지역 이동 의향제가 현재 회사..
데이터 사이언스 프로젝트 (신용 리스크 모델링) 3 | 데이터 전처리 (Preprocessing)
·
Data Science/Project
데이터 전처리(Data Preprocessing)는 데이터 사이언스 및 머신 러닝 프로젝트에서 원시 데이터를 분석 가능한 형태로 준비하는 과정입니다. 우선, 연속 변수를 숫자형으로 변환하는 것은 필수적입니다. 연속 변수가 숫자형으로 변환되면, 이를 기반으로 통계적 분석과 머신 러닝 모델링을 효과적으로 수행할 수 있습니다. 연속 변수를 숫자형으로 변환하는 과정에서 중요한 점 중 하나는, 특정 변수들이 예상과 다르게 object 타입으로 저장되어 있을 수 있다는 것입니다. 예를 들어, emp_length라는 변수는 숫자형으로 처리되어야 하지만 현재는 object 타입으로 되어 있을 수 있습니다. df['emp_length'] 열의 문자열에서 특정 패턴을 제거하고, 이 데이터를 정수형 형태로 변환하기 위해 여..
데이터 사이언스 프로젝트 (신용 리스크 모델링) 2 | 데이터셋 설명
·
Data Science/Project
첫 번째 단계는 데이터를 잘 이해하는 것입니다. 일반적으로 소비자 대출과 신용 카드는 신용 리스크 모델링이 적용되는 가장 전형적인 소매 금융 상품입니다. 본 프로젝트에서는 소비자 대출에 중점을 두어 모델 구축 과정에서 직면할 수 있는 다양한 도전 과제들을 살펴볼 것입니다.  Lending Club의 데이터셋을 사용하여 신용 리스크 모델링을 진행할 것입니다. Lending Club은 미국 기반의 P2P 대출 회사로, 투자자와 대출자를 매칭하여 운영됩니다. 투자자들은 Lending Club을 통해 자금을 투자하며, 이 자금은 대출자에게 전달됩니다. 대출자는 대출금을 상환하면 원금과 이자가 투자자에게 반환됩니다. 이는 대출자에게는 보통 더 낮은 대출 이율을, 투자자에게는 더 높은 수익률을 제공하는 상호 이익을..
올리브한입
올리브코드랩