본문 바로가기

전체 글328

CPP_1. AssortRock 15일차 오프라인 수업_220927 std::pair 구현 pair는 map을 구성하는 요소 map과 pair는 항상 같이 쓰임 namespace ya { template class pair { public: public: T1 first; T2 second; }; } pair의 기본 모양 템플릿으로 타입 2개를 받아서 그 타입에 대응하는 값의 쌍으로 만들어짐 외부에서 first와 second에 접근할 수 있으므로 데이터를 public으로 뺌 pair() : first(T1()) , second(T2()) {} // 생성자 pair(const T1& f, const T2& s) : first(f) , second(s) {} // 이동 생성자 pair(T1&& f, T2&& s) : first(f) , second(s) {} 기본 생성자와 .. 2022. 9. 28.
5. 템플릿 기본 문법 - typename, template 본 글은 코드누리의 Template Programming 강좌를 개인 학습 목적으로 정리한 글 입니다. https://www.ecourse.co.kr/course-status/ typename 키워드에 대한 개념 #include #include using namespace std; using namespace boost::typeindex; class Test { public: enum {value1 = 1}; static int value2; typedef int INT; using SHORT = short; class InnerClass {}; }; int Test::value2 = 3; int main() { Test::INT i = 3; Test::SHORT s = 5; int a = Test::.. 2022. 9. 28.
1주차-5. 9996번: 한국이 그리울 땐 서버에 접속하지 9996번: 한국이 그리울 땐 서버에 접속하지 요약하자면 첫 입력으로 입력 횟수가 주어지고 두 번째 입력으로 패턴이 주어짐 패턴은 a*b 와 같은 식으로 되어 있는데 이후 입력 횟수에 따라 입력되는 문장들이 패턴에 부합하는지 체크해서 부합하면 DA, 아니면 NE를 출력하는 문제 먼저 무작정 풀어보기 #include #include #include int main() { int n = 0; std::cin >> n; std::string patt; std::cin >> patt; std::string temp; std::vector res; for (int i = 0; i > temp; if (temp.front() == patt.front() && temp.back.. 2022. 9. 27.
CPP_1. AssortRock 14일차 오프라인 수업_220926 양방향 링크드리스트 첫 날에 시험 봤던 게 링크드리스트여서 이제는 좀 친숙하게 느껴진다. 이번 구현은 header와 trailer를 사용한 구현 namespace ya { template struct Node { Node() : mData(NULL) , mNext(nullptr) , mPrev(nullptr) { } Node(const T data) : mData(data) , mNext(nullptr) , mPrev(nullptr) { } ~Node() { } T mData; Node* mNext; Node* mPrev; }; template class list { public: private: size_t mCount; Node* mfirst; Node* mlast; }; } Node* mfirst와.. 2022. 9. 27.