본문 바로가기

전체 글93

[ 자료구조 ] Deque 덱(Deque)은 Double-Ended Queue의 약자이며, 양쪽에서 원소의 삽입과 삭제가 가능한 선형 자료구조입니다. 큐와 스택을 합친 형태와 같다. 앞 뒤로 push와 pop이 가능 1. 구현 사항 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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 #include #define MAXSIZE 100 using namespace std;.. 2020. 2. 22.
[ 자료구조 ] Queue 큐(queue)는 선입선출 FIFO(First In First Out)의 형태를 띄는 자료구조로 처음 들어온 데이터가 먼저 나갑니다. 배열을 이용하여 큐를 만들면 처음 들어갔던 자료가 빠졌을경우, 그 자리가 비게됩니다. 따라서, 자료들을 이동시켜주는 작업을 해야하는 번거로움이 발생합니다. 그래서 원형 큐를 이용하여 구현. 1. 구현 사항 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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 #include #define MAXSIZE 100 us.. 2020. 2. 21.
[ 자료구조 ] Stack 스택(Stack)은 후입선출(Last In First Out) 의 형태를 띄는 자료구조로 나중에 들어온 데이터가 먼저 나갑니다. 1. 구현 사항 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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 #include #define MAXSIZE 100 using namespace std; template class Stack { public: int top; int size; T* values; Stack() { size = MAX.. 2020. 2. 21.
[ 프로그래머스 ] 전화번호 목록 사용 언어 : C++ 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 29 #include #include #include #include using namespace std; bool length_sort(const string a, const string b) { return a.length() 2020. 2. 11.
[ 프로그래머스 ] 완주하지 못한 선수 사용 언어 : C++ 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 29 #include #include using namespace std; string solution(vector participant, vector completion) { vector::iterator temp; string answer = ""; for (auto it = participant.begin(); it != participant.end();) { temp = find(completion.begin(), completion.end(), *it); if (temp != completion.end()) { completion.erase(.. 2020. 2. 11.
[ 프로그래머스 ] [1차] 추석 트래픽 사용 언어 : C++ 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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 #include #include #include using namespace std; vector Split(string str, char delimiter) { vector internal; stringstream ss(str); string temp; while (ge.. 2020. 2. 6.
[ 프로그래머스 ] 종이 접기 사용 언어 : C++ 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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 #include #include #include using namespace std; vector solution(int n) { vector temp; vector answer; for (int i = 0; i 1 { temp.clear(); int size = answer.size();// 본래 크기 for (int j = 0; j 2020. 2. 4.
[ C++ ] C++ 형 변환 연산자 총 정리( static_cast, const_cast, dynamic_cast, reinterpret_cast ) C 스타일의 형 변환 연산자는 무적의 형 변환 연산자(Old C-style cast operator)이기에.. C 언어와의 호환성을 위해서 존재하지만, C++에서의 새로운 형 변환 연산자를 사용하는 것이 안전하다. C++에서 발생할 수 있는 C의 형 변환의 문제점은 기초 클래스의 포인터 형을 유도 클래스의 포인터 형으로 변환하는 것이 있기에, 일반적인 연산이 아니다. 그래서 C++은 다음과 같이 총 4개의 연산자를 추가로 제공하면서 용도에 맞는 형 변환 연산자의 사용을 권하고 있다. dynamic_cast dynamic_cast(expr) 사이에 변환하고자 하는 자료형의 이름을 둔다. 하지만 객체의 포인터 또는 참조형이 와야 한다. ( ) 사이에는 변환의 대상이 와야 한다. dynamic_cast는 다음.. 2019. 12. 7.
[ C++ ] new 연산자 예외처리 new 연산에 의한 메모리 할당이 실패하면 bad_alloc이라는 예외가 발생한다. ( bad_alooc : 헤더 파일 에 선언된 예외 클래스로써 메모리 할당의 실패를 알리는 의도로 정의됨. ) 여기서 what함수는 예외의 원인 정보를 문자열로 반환하는데, 내용은 컴파일러에 따라서 달라진다. 2019. 12. 5.