반응형
[C/C++] C언어 Deque 덱을 이용해 문자열을 입력받아 회문 판별하기
Programming/C, C++2021. 4. 23. 22:24[C/C++] C언어 Deque 덱을 이용해 문자열을 입력받아 회문 판별하기

안녕하세요! 이번 시간 역시 예전에 공부했던 C언어를 포스팅하려고 합니다. 그중에서 Deque 덱을 이용한 회문 판별 알고리즘인데요. 제가 공부했던 쉽게 풀어쓴 C언어에서 덱을 이용한 알고리즘이 과제로 나왔었는데, 한국어로 된 포스팅이 없어서 덱을 이용한 회문 역시 포스팅하게 되었습니다. 입력된 문자열로 회문을 판별하는 실습을 진행하겠습니다. 우선 Deque 덱과 회문이 무엇인지 알아야 하는데요. "덱(Deque)이란?" 덱은 삽입과 삭제가 양쪽 끝에서 모두 가능한 자료 구조 형태입니다. 2개의 포인터를 사용하여 양쪽에 삽입 또는 삭제를 할 수 있는데요. FIFO 구조의 큐(Queue)와 LIFO 구조의 스택(Stack)을 합친 형태라고 생각하시면 될 것 같습니다. "회문이란?" 거꾸로 읽어도 제대로 읽..

[C/C++] C언어 문자열을 입력받아 회문 판별하기(공백 제거)
Programming/C, C++2021. 4. 23. 21:58[C/C++] C언어 문자열을 입력받아 회문 판별하기(공백 제거)

안녕하세요! 이번 시간 역시 예전에 공부했던 C언어를 포스팅하려고 합니다. 그중에서 일반적인 회문 판별 알고리즘인데요. 입력된 문자열의 공백까지 제거해서 띄어쓰기 없는 문자열로 회문을 판별하는 실습을 진행하겠습니다. 우선 회문이 무엇인지 알아야 하는데요. "회문이란?" 거꾸로 읽어도 제대로 읽는 것과 같은 문장, 낱말, 숫자, 문자열을 가리킵니다. 예를 들어 "level" 같은 단어는 정방향, 역방향 어느 쪽으로 읽어도 같은 "level"이기 때문에 회문입니다. 오늘 구현해볼 것은 회문에 공백을 제거하여 출력하는 알고리즘을 작성하는 것입니다. 배열에 넣고 반복문을 돌리게 되면 따로 공백 제거를 해주지 않는 이상 인덱스 순서대로 읽기 때문에 공백 문자가 포함되어 있으면 공백 문자 또한 문자열로 취급합니다...

[C/C++] C언어 스택(Stack)을 이용한 간단한 문자열 압축하기
Programming/C, C++2021. 4. 23. 00:45[C/C++] C언어 스택(Stack)을 이용한 간단한 문자열 압축하기

안녕하세요! 이번 시간에 실습할 내용은 문자열 압축입니다. 여러 가지 자료구조 중에서 스택을 이용해서 문자열을 압축하는 실습을 진행하겠습니다. 아마 C를 하다 보면 문자열 압축에 대해 한 번쯤 보실 텐데 문자열 압축이란? 예를 들어 "aaaaaaaa" 라는 문자열이 있을 때 같은 문자가 여러 번 반복되는 것을 압축하여 공간을 절약하는 방법입니다. 8개의 a가 8a로 나타내 지면서 8글자가 2글자가 되는 것이죠. 원래는 압축 효율을 더 높이기 위해 더 심화된 알고리즘을 사용하는데, 문자열 압축이 어떤 식으로 진행되는지만 참고하시면 될 것 같습니다. C program code #include #include #define MAX_SIZE 100 typedef int element; element stack[..

[C/C++] C 언어 동적 메모리 할당을 이용해 구구단 출력
Programming/C, C++2021. 4. 21. 13:30[C/C++] C 언어 동적 메모리 할당을 이용해 구구단 출력

안녕하세요! 이번 시간에는 C언어 동적 메모리 할당을 이용해서 구구단을 출력하는 코드를 작성하겠습니다. 대학교 1학년 신입생 때 동적메모리 강의 후 첫 과제로 받았던 기억이 있어요! 그 뒤로 C/C++ 공부를 한 번도 하지 않았지만, C 공부나 과제하실 때 참고하셨으면 합니다. 과제에서는 동적 메모리를 할당해서 구구단의 결과가 9000의 곱한 값으로 설정하라고 되어 있었습니다. 그냥 구구단으로 출력하고 싶으시다면 * 9000 부분을 제거해주시면 됩니다. C program code #include #include int main(void) { int **arr, i, j; arr = (int **)malloc(sizeof(int*) * 9); //동적 메모리 생성 for(int i = 1; i < 10; ..

반응형
image