전체 글
[C++] 반복문
반복문 프로그램 소스 코드 내에서 특정한 부분의 코드가 반복적으로 수행될 수 있도록 하는 구문 while 문 C++에서 사용되는 반복문 중 하나 while 문은 다음과 같이 작성한다. while (/*조건식*/){ /*실행구문*/ } while (1), while (true) 처럼 무한 루프 반복문을 생성할 수 있다. 기본 while 문 #include int main() { int sum = 0; int i = 1; // i가 10이 될 때까지 더하는 반복문 while (i
[C++] 조건문
조건문 조건에 따라 실행이 달라지게 할 때 사용되는 문장 if 문 C++에서 사용되는 조건문 중 하나이다. if 문은 다음과 같이 작성한다. if (/*조건식*/) { /*실행구문*/; }else if (/*조건식*/) { /*실행구문*/; }else { /*실행구문*/; } 모든 조건문을 계속 판단하면서 branch가 진행되기 때문에 속도가 switch보다 느리다. 메모리의 사용을 줄이고자 하는 경우에는 if 문이 switch문보다 좋은 성능을 보인다고 한다. 조건의 수가 적을 때는 if 문을 사용하는 것이 유리 #include int main() { int x = 9; if (x >= 10) { std::cout

Pandas 라이브러리
Pandas Python Data Analysis 데이터 분석 및 조작을 위한 파이썬 라이브러리 대용량의 데이터들을 처리하는데 매우 편리 R에서 사용되던 data frame 구조를 본뜬 DataFrame이라는 구조를 사용 Pandas 자료구조 Series: 1차원 DataFrame: 2차원 Panel: 3차원 Pandas 라이브러리 불러오기 pandas는 주로 pd라는 약칭으로 사용된다. import pandas as pd Pandas Series Series 생성 series = pd.Series([1.0, 2.0, 3.0, 4.0, 5.0, 6.0]) series 0 1.0 1 2.0 2 3.0 3 4.0 4 5.0 5 6.0 dtype: float64 pandas 라이브러리의 Series 메서드로 ..

Numpy 라이브러리
Numpy Numerical Python 수학 및 과학 연산을 위한 파이썬 패키지 Numpy 내부는 상당부분이 C나 Fortran으로 작성되어 있어 실행 속도가 꽤 빠른 편이다. 기본적으로 array라는 자료를 생성하고, 이를 바탕으로 색인, 처리, 연산 등을 하는 기능을 수행한다. Numpy 자체만으로도 난수생성, 푸리에변환, 행렬연산, 간단한 기술통계 분석 정도는 가능하지만 실제로는 Scipy, Pandas, matplotlib 등 다른 Python 패키지와 함께 쓰이는 경우가 많다. Numpy Data Types Numpy Type C Type Description numpy.bool_ bool Boolean (True or False) stored as a byte numpy.byte signed..
[C++] 소수점 자릿수 정하기
소수점 자릿수 정하기 파이썬과 C는 간단하게 소수점 자릿수를 정하여 출력할 수 있지만 C++은 생각보다 번거롭다. precision을 이용하며, 소수점 이하는 반올림된다. #include int main() { const double PI = 3.1415926535; // 1. 일반 출력 std::cout
[C++] Hello World 출력하기
Hello World 프로그래밍을 배울 때 가장 처음으로 구현해보는 코드일 것이다. iostream 헤더를 이용한다. #include int main() { std::cout

[C++] STL 자료구조
STL Standard Template Library STL은 다양한 자료형으로 사용할 수 있도록 만든 함수 템플릿이나 클래스 템플릿이 기초가 된다. 여기서는 STL에 있는 자료구조 클래스를 이용한다. 연결리스트(Linked List) 어떤 데이터 덩어리(이하 노드 Node)를 저장할 때 그 다음 순서의 자료가 있는 위치를 데이터에 포함시키는 방식으로 자료를 저장 #include 시간복잡도 삽입/삭제: O(1) 탐색: O(n) 데이터의 추가/삭제가 많은 경우에는 연결 리스트를 사용하면 좋다. 싱글 연결 리스트: next 포인터만 가짐 이중 연결 리스트: next 포인터와 prev 포인터를 가짐 원형 이중 연결 리스트: 이중 연결리스트와 동일한 형태이지만 마지막 노드의 next 포인터가 헤드 노드(맨 앞 ..
[C++] 정렬 알고리즘
Sort() 함수 C++의 algorithm 헤더에 포함되어 있음 #include #include #include using namespace std; int main() { vector num_list = {2, 1, 5, 4, 3}; sort(begin(num_list), end(num_list)); for (int i=0; i