* 이번 포스팅 에서는 [C/C++] C언어 방식 문자열 포스팅에서 알아본 문자열 함수들을 직접 구현해 보도록 하겠습니다. * 개인적인 공부 내용을 기록하는 용도로 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있습니다. #1 strcpy #2 strlen #3 strcmp #4 strcat #1 strcpy /* strcpy - 문자열을 복사해주는 함수 dest 문자열에 src 문자열을 복사합니다. */ void strcpy(char *dest, const char *src){ while(*src != '\0'){ // NULL 문자열 까지 반복 *(dest++) = *(src++); // src의 문자열을 dest로 복사 } *(dest) = '\0'; // dest의 마지막 문자열 NULL로 지..
* Modern C++ 에서는 C언어 방식의 "C-Style-Strings"와, STL 라이브러리에 정의된 "std::string" 두가지 형태의 문자열을 제공합니다. 이번 포스팅에서는 C언어 방식인 C-Style-Strings에 대해 공부한 내용을 정리해 보고자 합니다. * 개인적인 공부 내용을 기록하는 용도로 작성한 포스팅 이기에 잘못된 내용을 포함하고 있을 수 있습니다. #1 C-Style-Strings #2 std::cin & std::cin.getline #3 C-Style-Strings 관련 함수들 - strlen() strcpy() strcat() strcmp() #1 C-Style-Strings C-Style-String 이란 마지막 원소에 null(종료자)를 포함하는 문자 배열입니다. 초..
#INFO 난이도 : SILVER4 알고리즘 유형 : DataStructure_DEQUE 출처 : 2164번: 카드2 (acmicpc.net) 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net #SOLVE 양쪽이 모두 뚫려있는 STL DEQUE를 이용하면 쉽게 풀이 가능합니다. 우선, deque를 하나 선언해 준 뒤, deque에 n까지의 수를 push_back해 줍니다. deque q; int n; cin >> n; for (int i = 1 ; i 1) { q.pop_front(); if(q.size() =..
Main함수로부터 scores[5] 배열을 넘겨받아 배열의 원소를 출력하는 PrintScore 함수를 살펴보자. void PrintScore(int scores[5], int size) { cout
#INFO 난이도 : SIVLER5 알고리즘 유형 : 자료구조_큐(Queue) 출처 : 1158번: 요세푸스 문제 (acmicpc.net) #SOLVE 큐(Queue)자료구조를 이용해서 문제를 풀이했다. 우선, 입력받은 N값까지 반복문을 돌려서 큐에 Push해준다. queue josephus; for (int i = 0 ; i < N ; i++) { josephus.push(i + 1); } 다음으로 큐의 front를 push해주고, pop해준다. 그러면 front에 있던 "1"이 가장 위로 올라가게 된다. 이 과정을 M-1(2)번 반복해 준다. 마지막으로 M번째 수는 출력해주고, 큐에서 pop 해준다. 이것을 N번 반복해주면 요세푸스 순열을 구할 수 있다. cout M; queue josephus; f..