🖥️ CS 314

정렬(1) - 선택 정렬 / 버블 정렬 / 삽입 정렬

기본적으로 세 정렬 모두 2중 for문을 사용하기 때문에 시간 복잡도는 최대 O(n2) 이다. 1. 선택 정렬 (1) 맨 첫 번째 위치에서 시작한다 (ex : a[0]) (2) 자신보다 오른쪽에 있는 원소 들을 하나씩 탐색한다. (3) 그 중 자신보다 작은 원소가 있으면 swap하여 정렬한다. #include using namespace std; int main(void) { int i,j; int arr[5] = {10,2,15,59,28}; for(int i=0; i

#10866번 덱 (c++)

큐와 스택의 장점을 합친 알고리즘. 앞/뒤에서 삽입이 가능하고 마찬가지로 앞/뒤에서 제거가 가능하다. #include #include #include using namespace std; int main(void){ /* push_front X: 정수 X를 덱의 앞에 넣는다. push_back X: 정수 X를 덱의 뒤에 넣는다. pop_front: 덱의 가장 앞에 있는 수를 빼고, 그 수를 출력한다. 만약, 덱에 들어있는 정수가 없는 경우에는 -1을 출력한다. pop_back: 덱의 가장 뒤에 있는 수를 빼고, 그 수를 출력한다. 만약, 덱에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 덱에 들어있는 정수의 개수를 출력한다. empty: 덱이 비어있으면 1을, 아니면 0을 출력한다. fro..

#4604번 Steganography (c++)

#include #include #include #include using namespace std; /* 1. 문자열을 받는다. 이 문자열은 엔터키 또한 받아내야 한다. 2. 스페이스바(공백)를 기준으로 덱에 넣는다. 공백이 홀수개면 0, 짝수개면 1을 넣는다. 3. 해당 덱은 5개씩 끊어내며, 만약 마지막 5의 배수로 받아내지 못할경우 5의 배수로 끝나도록 맨 마지막에 0을 넣는다. 4 해당 덱을 이진수로 변환하여 테이블표대로 출력한다. */ int main(void){ deque dq; while(1) { string temp; getline (cin, temp); if(temp.size()==1&&temp=="#") break; // 아예 종료한다. else if (temp.size()==1&&t..