일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- cpp
- 데이터 분석
- cpp class
- 데이터 마이닝
- 클러스터링
- 네트워크 기초
- 차원축소
- Machine Learning
- 머신러닝
- 코테
- python
- 코드트리
- 기계학습
- 넘파이
- NumPy
- OOP
- 넘파이 기초
- 코딩테스트실력진단
- 파이썬
- 코딩테스트
- ack
- 넘파이 배열
- c++
- 합성곱 신경망
- numpy 기초
- java
- 자바
- Design Pattern
- lambda
- 디자인 패턴
- Today
- Total
목록전체 글 (69)
준비하는 대학생
1. NumPy sort 함수 NumPy의 sort() 함수는 배열을 오름차순으로 정렬하는데 사용됩니다. 기본적으로 numpy.sort() 함수는 다음과 같은 형태로 사용할 수 있습니다. import numpy as np arr = np.array([4, 2, 1, 5, 3]) sorted_arr = np.sort(arr) print(sorted_arr) 결과 [1 2 3 4 5] 2. 정렬 알고리즘 선택하기 numpy.sort() 함수는 선택적으로 정렬 알고리즘을 지정할 수 있습니다. 이때 kind 매개변수를 사용하여 선택할 수 있는 알고리즘은 다음과 같습니다. 'quicksort': 퀵 정렬 (기본값) 'mergesort': 병합 정렬 'heapsort': 힙 정렬 'stable': 안정적인 정렬 알..
넘파이 배열에서의 중복 제거 넘파이 배열에서 중복된 값을 제거하기 위해서는 unique() 함수를 사용합니다. 이 함수는 넘파이 배열에서 중복된 값들을 제거한 배열을 반환해줍니다. 예를 들어, 다음과 같이 중복된 값이 있는 1차원 배열이 있다고 가정해봅시다. import numpy as np arr = np.array([1, 2, 3, 2, 1, 4, 5, 4, 6, 5]) unique_arr = np.unique(arr) print(unique_arr) # [1 2 3 4 5 6] 위의 코드에서는 중복된 값이 포함된 1차원 배열을 생성하고 있습니다. unique() 함수를 이용하여 중복된 값을 제거하고, 그 결과로 새로운 배열 unique_arr을 생성할 수 있습니다. unique() 함수는 디폴트로 ..
넘파이 배열 인덱싱 넘파이 배열에서의 인덱싱은 다음 4가지 방법으로 이루어집니다. 단일 값 추출 : 특정한 위치의 데이터 선택 슬라이싱(Slicing) : 연속된 인덱스 위치의 데이터 선택 팬시 인덱싱(Fancy Indexing) : 인덱스 집합을 리스트형태로 지정하여 데이터 선택 불린 인덱싱(Boolean Indexing) : True/False 기반으로 True에 해당하는 인덱스 위치의 데이터 선택 이제 각각의 방법에 대해 자세히 알아보겠습니다. 1. 단일 값 추출 단일 값 추출은 넘파이 배열에서 특정한 위치의 데이터를 선택하는 방법입니다. 이때 대괄호([]) 안에 인덱스를 지정하여 데이터를 선택합니다. 예를 들어, 다음과 같이 1차원 배열에서 단일 값 추출을 수행할 수 있습니다. import num..
넘파이 배열은 reshape() 함수를 이용하여 배열의 크기를 변경하거나 차원을 추가/제거할 수 있습니다. reshape() 함수 넘파이에서 reshape() 함수는 다음과 같이 정의됩니다. numpy.reshape(arr, newshape, order='C') arr: 변경하려는 배열 newshape: 변경하려는 배열의 새로운 shape order: 배열의 요소 순서. 'C'(기본값)는 C 언어 스타일의 요소 순서, 'F'는 포트란 스타일의 요소 순서 reshape() 함수는 arr 배열의 shape을 newshape으로 변경하여 새로운 배열을 반환합니다. 이때, 새로운 배열의 요소 개수는 원래 배열의 요소 개수와 동일해야 합니다. 만약 newshape으로 지정된 크기가 원래 배열의 크기와 다르면, r..
SOLID 디자인 원칙 중 하나인 OCP(Open-Closed Principle)는 소프트웨어 개발에서 변경에 대한 영향을 최소화하면서 기능을 추가하거나 변경할 수 있는 설계를 만들기 위한 원칙입니다. 이번 글에서는 OCP를 따르는 자바 코드를 작성하는 방법과 이를 적용하면 어떤 장점이 있는지에 대해 자세히 알아보겠습니다. OCP란? OCP는 "개방-폐쇄 원칙"을 의미합니다. 이 원칙은 기존 코드를 수정하지 않으면서 기능을 추가하거나 변경할 수 있도록 설계해야 한다는 원칙입니다. OCP를 따르면 기존 코드를 수정하지 않아도 새로운 기능을 추가하거나 기능을 변경할 수 있으므로, 코드의 유지보수성과 확장성이 높아지게 됩니다. OCP를 따르는 예시 다음은 OCP를 따르는 자바 코드의 예시입니다. public ..
SOLID 디자인 원칙 중 하나인 SRP(Single Responsibility Principle)는 코드의 유지보수성과 확장성을 높이기 위해 매우 중요합니다. 이번 글에서는 SRP를 따르는 자바 코드를 작성하는 방법과 이를 적용하면 어떤 장점이 있는지에 대해 자세히 알아보겠습니다. SRP란? SRP는 한 클래스는 단 하나의 책임만 가져야 한다는 원칙입니다. 클래스가 담당하는 책임이 너무 많아지면 코드가 복잡해지고 유지보수성이 떨어지게 됩니다. 또한, 한 가지 책임을 수행하는 클래스가 여러 곳에서 사용될 경우, 한 쪽에서 수정이 이루어지면 다른 쪽에서도 영향을 받게 되어 시스템 전체의 안정성에 영향을 미칠 수 있습니다. SRP를 따르는 예시 다음은 SRP를 따르는 자바 코드의 예시입니다. public c..
C++에서 다형성(Polymorphism)은 객체 지향 프로그래밍(OOP)의 핵심 개념 중 하나이다. 다형성은 같은 이름을 갖는 여러 형태의 함수를 클래스별로 만들 수 있게 해주는 기능을 말하며 다른 클래스나 객체들을 동일한 인터페이스로 다룰 수 있도록 한다. 다형성을 잘 활용하면 코드의 유지 보수성과 재사용성이 증가할 수 있다. 가상 함수(Virtual Function) C++에서 가상 함수(Virtual Function)를 이용한 다형성은 가상 함수를 이용하여 런타임 다형성(Runtime Polymorphism)을 구현한다. 가상 함수는 베이스 클래스(Base Class)에서 정의되며 파생 클래스(Derived Class)에서 재정의될 수 있다. 이때 파생 클래스에서 재정의된 가상 함수를 호출하면 컴..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bxOlYa/btr2QL0oupo/vKdVDK2PCVDDIB31AuFav0/img.png)
의존관계는 상속관계보다 약한 관계이다. 의존성은 일반적으로 사용관계(use-a)로 표현된다. 클래스 A가 내부적으로 클래스 B를 사용하고 있다면 이는 클래스 A가 클래스 B를 의존하고 있다고 볼 수 있다. 정리하면 아래의 경우로 나타낼 수 있다. 클래스 A의 멤버 함수에서 매개변수로 클래스 B 자료형을 사용하는 경우 클래스 A의 멤버 함수에서 리턴 값으로 클래스 B 자료형을 사용하는 경우 클래스 A의 멤버 함수에서 지역 변수로 클래스 B 자료형을 사용하는 경우 의존 관계는 클래스 다이어그램과 시퀀스 다이어그램을 사용하여 표현된다. 예를들어, 운전자가 차를 빌려 운전한다고 생각해보자. 운전자는 차를 소유하고 있지 않지만 운전을 하기 위해서는 차가 필요하다. 따라서 운전하는 함수에는 차 클래스가 필요하다고 ..