GoWoong의 개발 블로그
close
프로필 배경
프로필 로고

GoWoong의 개발 블로그

  • 분류 전체보기 (189)
    • 크래프톤 정글 (83)
    • 크래프톤 정글 (컴퓨터 시스템: CSAPP) (57)
      • 3장 프로그램의 기계수준 표현 (16)
      • 6장 메모리 계층구조 (6)
      • 7장 링커 (6)
      • 8장 예외적 제어 흐름 (7)
      • 9장 가상 메모리 (16)
      • 11장 네트워크 프로그래밍 (6)
    • 클라우드 (4)
      • [AWS] AWS IoT Core (4)
      • DevOps (0)
    • Deep Dive (29)
      • CS (15)
      • OS (13)
    • 백엔드 개발 (0)
      • 파이썬 (0)
      • 자바 스프링 (0)
    • 자격증 공부 (5)
      • AWS Cloud Practitioner (2)
      • 정보처리기사 (1)
      • AWS SAA-C03 (2)
    • 앱 개발 (5)
      • Flutter (5)
    • AI & LLM (1)
    • 문제 기록 (0)
    • 커뮤니티 참석 후기 (2)
    • 일상 기록 (1)
  • 홈
  • 자소서
  • 포트폴리오
  • 이력서

링크드리스트(LinkedList) 구현 (C언어) : Part.4 - delete_node, insert_at

4번째 포스팅이다. 이번 포스팅에서는 노드를 삭제하는 delete_node와 특정 인덱스 위치에 노드를 삽입하는 insert_at 기능을 구현해 보려고 한다.1. 구현 목표insert_at : 링크드 리스트의 중간 원하는 인덱스에 데이터를 추가한다.delete_node : 원하는 값이 있는 노드를 링크드리스트에서 삭제한다.이번 구현은 이전과 비교해 조금 복잡하게 느껴질 수 있다.2. 기능 구현🔨 insert_at링크드 리스트의 특정 index 위치에 data를 가지는 node를 추가해야 한다.구현 아이디어새로운 노드를 먼저 생성해 둔다.만약 index 값이 0 이라면 이 전에 구현했던 insert_front와 같이 추가를 하면 된다.현재 노드를 지정할 cur 변수를 만들고 head로 지정한다.count..

  • format_list_bulleted 크래프톤 정글
  • · 2025. 4. 16.
  • textsms

링크드리스트(LinkedList) 구현 (C언어) : Part.3 - insert_front, print_list, find_node

이 전 포스팅에서는 링크드 리스트를 생성하고 값을 넣고 링크드 리스트를 해제하는 과정을 다루었다. 이번에는 링크드 리스트의 가장 앞에 노드를 추가하는 insert_front 함수가 현재 링크드 리스트에 있는 값을 전부 출력하는 print_list 마지막으로 링크드 리스트에서 특정 노드를 찾는 find_node까지 구현할 것이다.1. 구현 목표다음과 같은 기능을 이번에 구현할 것이다.insert_front : 링크드 리스트 가장 앞에 추가print_list : 현재 리스트 안의 값 전부 출력하기find_node : 링크드 리스트 안의 특정 값 찾기2. 기능 구현🔨 insert_front이 전 포스팅에서 insert_end를 구현했다. 마지막에 추가할 때는 링크드 리스트의 끝까지 찾아가는 반복문을 실행했는..

  • format_list_bulleted 크래프톤 정글
  • · 2025. 4. 16.
  • textsms

링크드리스트(LinkedList) 구현 (C언어) : Part.2 - insert_end, free_lsit

이 전 포스팅에서 초기 설정을 진행했다. 이제 본격 적으로 구현을 시작할 것이다. 시작에 앞서 아마 실행을 해 봤을 수. 있는데 실행하면 현재 테스트 코드에서 호출하고 있는 함수들이 실제 구현되지 않았다고 에러를 발생시킬 것이다. 그래서 우리가 구현을 끝냈거나 구현을 진행할 예정인 테스트 코드는 제외하고 나머지는 주석 처리를 해 두면 된다.1. 구현 목표우리가 이번에 구현할 기능은 아래와 같다.create_node : 링크드 리스트에 추가할 노드 생성insert_end : 링크드 리스트의 끝에 노드 추가free_list : 링크드 리스트 전체 삭제 및 동적 메모리 해제링크드 리스트는 노드라고 하는 요소들을 연결해서 구현한다고 할 수 있고 그 말은 링크드 리스트를 구현하기 위해 먼저 노드를 만들 수 있어야..

  • format_list_bulleted 크래프톤 정글
  • · 2025. 4. 16.
  • textsms

링크드리스트(LinkedList) 구현 (C언어) : Part.1 - 초기 환경 설정

크래프톤 정글 8기 37일 차 TIL 링크드리스트 구현하기 - C언어를 이용해 링크드 리스트를 직접 구현해보려고 한다. 아무래도 정글에서 준 과제는 링크드 리스트의 특성을 이용해 특정 함수를 구현하는 것을 요구하는데 과제만 해결하는 것을 넘어 직접 구현을 해 보면서 익히는 것이 더 좋을 것 같아서 직접 구현을 진행해 보려 한다. 링크드 리스트에 대해서 부족하지만 정리했던 내용을 확인하려면 이 전 포스팅 했던 글을 확인하는 것도 좋을 것 같다.2025.04.10 - [크래프톤 정글] - 크래프톤 정글 8기 - TIL 31일차 (링크드 리스트 - C)링크드 리스트 구현 전 준비본격 적으로 구현을 시작하기 전 준비해야 할 사항이 있다. 먼저 나는 구현의 검증을 담당해 줄 테스트 코드를 미리 작성해 두었다. 그..

  • format_list_bulleted 크래프톤 정글
  • · 2025. 4. 16.
  • textsms
보이어-무어 문자열 검색 알고리즘

보이어-무어 문자열 검색 알고리즘

크래프톤 정글 8기 - 36일차 TILBoyer-Moore 문자열 검색 알고리즘 정리Boyer–Moore 알고리즘은 문자열 검색 알고리즘 중에서도 가장 빠르고 실용적인 알고리즘 중 하나다. 이 글에서는 Boyer-Moore 알고리즘의 기본 개념, 핵심 규칙(Bad Character Rule, Good Suffix Rule), 그리고 실제 탐색 방식에 대해 정리한다.1. Boyer-Moore 알고리즘의 핵심 아이디어"비교는 오른쪽 끝부터 시작하며, 실패하면 패턴을 최대한 멀리 점프시킨다."일반적인 문자열 검색은 왼쪽부터 비교하지만,Boyer–Moore는 오른쪽부터 왼쪽으로 비교한다.실패 시, 두 가지 규칙 중 더 먼 쪽으로 점프하여 검색 속도를 높인다.보이어-무어 알고리즘에서는 한국어로 "건너뛰기 표(sk..

  • format_list_bulleted 크래프톤 정글
  • · 2025. 4. 15.
  • textsms
KMP (Knuth-Morris-Pratt) 문자열 검색 알고리즘

KMP (Knuth-Morris-Pratt) 문자열 검색 알고리즘

크래프톤 정글 8기 - 35일 차 TILKMP (Knuth-Morris-Pratt) 문자열 검색 알고리즘 정리문자열 검색 알고리즘 중 하나인 KMP 알고리즘은 텍스트에서 특정 패턴이 존재하는지 빠르게 찾아내기 위한 알고리즘이다. 이 글에서는 KMP 알고리즘의 동작 원리와 핵심 개념인 LPS(Longest Prefix Suffix) 배열을 중심으로 정리하였다.1. KMP 알고리즘의 핵심 아이디어"문자열 검색 중 일치하지 않으면, 이미 비교한 정보를 활용해 중복 비교를 피한다"일반적인 완전 탐색은 실패하면 항상 패턴의 처음부터 다시 시작하지만, KMP는 패턴 내의 반복 구조를 이용해 비교 위치를 점프할 수 있다. 이로 인해 최악의 시간복잡도가 O(n + m)으로 매우 효율적이다.2. LPS (Longest ..

  • format_list_bulleted 크래프톤 정글
  • · 2025. 4. 14.
  • textsms
  • navigate_before
  • 1
  • ···
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • ···
  • 32
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (189)
    • 크래프톤 정글 (83)
    • 크래프톤 정글 (컴퓨터 시스템: CSAPP) (57)
      • 3장 프로그램의 기계수준 표현 (16)
      • 6장 메모리 계층구조 (6)
      • 7장 링커 (6)
      • 8장 예외적 제어 흐름 (7)
      • 9장 가상 메모리 (16)
      • 11장 네트워크 프로그래밍 (6)
    • 클라우드 (4)
      • [AWS] AWS IoT Core (4)
      • DevOps (0)
    • Deep Dive (29)
      • CS (15)
      • OS (13)
    • 백엔드 개발 (0)
      • 파이썬 (0)
      • 자바 스프링 (0)
    • 자격증 공부 (5)
      • AWS Cloud Practitioner (2)
      • 정보처리기사 (1)
      • AWS SAA-C03 (2)
    • 앱 개발 (5)
      • Flutter (5)
    • AI & LLM (1)
    • 문제 기록 (0)
    • 커뮤니티 참석 후기 (2)
    • 일상 기록 (1)
최근 글
인기 글
최근 댓글
태그
  • #IOT
  • #saa-c03
  • #AWSKRUG
  • #Cloud Practitioner
  • #AWS 자격증
  • #serverless
  • #AWS
  • #AWS Community Day
  • #aws #iot
  • #CLF-C01
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바