반응형
C 언어
- [C #17] 구조체(Structs), 공용체(Unions), 열거형(Enums) [C #17] 구조체(Structs), 공용체(Unions), 열거형(Enums)구조체(struct): 서로 다른 데이터 타입을 하나로 묶음.공용체(union): 여러 데이터 타입이 메모리를 공유.열거형(enum): 상수 집합에 이름 부여.구조체는 값을 직접 전달하거나 포인터를 통해 참조로 전달 가능. 구조체 (Structs)구조체의 개념정의: 서로 다른 데이터 타입을 하나로 묶는 사용자 정의 데이터 타입.용도: 관련된 데이터를 그룹화하여 관리.구조체 정의와 선언struct Point { int x; int y;};사용struct Point p1;p1.x = 10;p1.y = 20;printf("Point: (%d, %d)\n", p1.x, p1.y);구조체 초기화struct Point p2 ..
- [C #16] 문자열 입력 기본 함수와 상황별 선택 코딩 테스트에서 C언어로 문자열 입력을 처리할 때는 제한된 시간과 메모리 내에서 효율적으로 입력받아야 합니다. 이를 위해 몇 가지 팁을 정리했습니다.1. 문자열 입력 기본 함수와 상황별 선택1) scanf (주로 사용)사용 조건: 공백 없이 단일 문자열 입력.사용 예:char str[100];scanf("%s", str);장점:간단하며 대부분의 테스트 케이스에 적합.주의:공백 기준으로 입력이 끊기므로 여러 단어 입력이 필요한 경우 적합하지 않음.2) fgets (공백 포함 입력)사용 조건: 공백을 포함한 한 줄 입력.사용 예:char str[100];fgets(str, sizeof(str), stdin);장점:공백 포함 문자열 입력 가능.주의:입력 끝에 줄바꿈 문자(\n)가 포함되므로 제거 필요:str[..
- [C #15] 문자열 (Strings) 문자열 (Strings)문자열은 문자 배열이며 마지막에 **'\0'**으로 종료.C에서 문자열 처리는 **** 라이브러리의 다양한 함수를 통해 수행. 3. 문자열 처리 주요 함수:strlen: 문자열 길이 반환.strcpy, strncpy: 문자열 복사.strcat, strncat: 문자열 연결.strcmp, strncmp: 문자열 비교.strchr, strstr: 특정 문자 또는 문자열 검색.동적 메모리를 통해 문자열 크기를 유연하게 관리 가능.strlen문자열 길이 계산strcpy문자열 복사strcat문자열 연결strcmp문자열 비교strchr특정 문자 검색strstr특정 문자열 검색strtok문자열 분리memset메모리 초기화memcpy메모리 복사 13.1 문자열이란?문자열은 문자의 배열로, 마지막..
- [C #14] 동적 메모리 할당 (Dynamic Memory Allocation) 동적 메모리 할당 (Dynamic Memory Allocation)1. 동적 메모리 할당이란?동적 메모리 할당은 프로그램 실행 중에 메모리를 동적으로 요청하고 해제하는 기능입니다.C 언어에서는 malloc, calloc, realloc, **free**를 사용하여 메모리를 관리합니다.장점:컴파일 타임이 아닌 런타임에 필요한 만큼 메모리를 할당 가능.프로그램의 유연성과 효율성 증가.단점:메모리 누수 가능성.프로그래머가 직접 메모리를 해제해야 함.2. 동적 메모리 할당 함수1) malloc (Memory Allocation)메모리를 초기화하지 않고 필요한 크기만큼 할당.반환값: 할당된 메모리의 시작 주소를 가리키는 포인터.사용법:void* malloc(size_t size);예제:#include #inclu..
- [C #13] 포인터와 배열 (Pointers and Arrays) 12장: 포인터와 배열 (Pointers and Arrays)포인터와 배열:배열 이름은 첫 번째 요소의 주소를 가리키는 포인터.arr[i]는 *(arr + i)와 동일.다차원 배열과 포인터:arr[i][j]는 *(*(arr + i) + j)와 동일.동적 2차원 배열은 이중 포인터로 처리.포인터 배열과 배열 포인터:포인터 배열: 여러 포인터를 저장.배열 포인터: 배열 전체를 가리킴.12.1 포인터와 배열의 관계1) 배열은 포인터처럼 작동배열의 이름은 배열의 첫 번째 요소의 주소를 나타냅니다.arr은 &arr[0]과 동일한 의미를 가집니다.#include int main(void) { int arr[5] = {10, 20, 30, 40, 50}; printf("arr: %p\n", arr); ..
RHCSA
- [RHCSA #10] Chapter 7: Permissions Management (파일 권한 관리) Chapter 7: Permissions Management (자세히 설명)핵심 키워드리눅스 파일 권한사용자(User), 그룹(Group), 기타 사용자(Others)읽기(Read), 쓰기(Write), 실행(Execute)SUID, SGID, Sticky Bit기본 권한 설정(umask)1. 파일 소유권리눅스에서 모든 파일은 **소유자(User)**와 그룹(Group), 그리고 **다른 사용자(Others)**로 분류됩니다.소유권 확인ls -l filename출력 예:-rw-r--r-- 1 john developers 1024 Nov 25 15:32 example.txtjohn: 파일 소유자.developers: 그룹 소유자.권한 구조:rw-: 소유자 권한(읽기, 쓰기).r--: 그룹 권한(읽기).r-..
- [RHCSA #9] 이스케이프(escaping) 사용하기(Redhat 9) 정규 표현식에서 이스케이프(escaping) 사용하기요약이스케이프는 쉘이 정규 표현식의 특수 문자를 해석하지 못하게 방지하는 데 사용됩니다.방법:백슬래시(\)로 특수 문자를 이스케이프.따옴표(', ")로 전체 패턴을 보호.예제:grep '\*' file.txt → 문자 * 검색.grep '^root' /etc/passwd → root로 시작하는 줄 검색.목적:올바른 정규 표현식 동작 보장.쉘과 정규 표현식의 충돌 방지. 이스케이프(escaping)란?이스케이프는 정규 표현식에서 특정 특수 문자가 올바르게 해석되도록 **백슬래시(\)**를 앞에 붙이는 것을 말합니다.특수 문자는 쉘(Bash)과 정규 표현식에서 각각 다른 의미를 가질 수 있으므로, 올바르게 동작하게 하기 위해 이스케이프가 필요합니다.왜 이스..
- [RHCSA #8] Chapter 6: 사용자 및 그룹 관리(Redhat 9) 리눅스 사용자 및 그룹 관리리눅스 시스템에서는 다중 사용자 환경을 관리하기 위해 사용자와 그룹을 체계적으로 설정하고 운영합니다. 이번 포스팅에서는 리눅스에서 사용자와 그룹을 생성, 수정, 삭제하는 방법과, 실무에서 자주 사용되는 명령어 및 설정 방법을 자세히 알아보겠습니다.1. 사용자(User)란?사용자는 리눅스 시스템에 접근할 수 있는 개별 계정을 의미합니다. 리눅스 사용자 계정에는 다음과 같은 유형이 있습니다:루트 사용자(root): 시스템의 최고 권한을 가진 관리자.일반 사용자(regular user): 제한된 권한을 가진 계정.시스템 사용자(system user): 데이터베이스나 웹 서버와 같은 서비스에서 사용하는 계정.모든 사용자 정보는 /etc/passwd 파일에 저장됩니다./etc/passw..
- [RHCSA #7] Chapter 5: SSH 원격접속(Redhat 9) 1. 로컬 콘솔(Local Console) 사용1.1 로컬 콘솔 접속로컬 콘솔은 물리적 서버나 가상 머신에서 직접 시스템에 접속할 때 사용됩니다.GUI 환경과 CLI(터미널) 환경 모두에서 작업할 수 있습니다.1.2 가상 터미널 전환비 GUI 환경에서 Ctrl + Alt + F1부터 F6까지의 키 조합으로 터미널 간 전환 가능합니다.GUI로 돌아오려면 Ctrl + Alt + F7을 사용합니다.2. 원격 연결: SSH2.1 SSH란?SSH(Secure Shell)는 네트워크를 통해 원격 시스템에 안전하게 접속하는 프로토콜입니다.기본 포트는 22번이며, 암호화된 연결을 제공합니다.2.2 SSH 클라이언트를 통한 접속기본 사용법:ssh username@hostname예제:ssh admin@192.168.1.1..
- [RHCSA #6] Chapter4: 텍스트 파일 관리 (Redhat 9) 리눅스 텍스트 파일 관리텍스트 파일은 리눅스 시스템에서 설정 관리, 로그 분석, 데이터 처리 등 다양한 역할을 합니다. 이번 포스팅에서는 텍스트 파일을 다루는 데 필수적인 명령어와 활용법을 상세히 알아봅니다.1. 텍스트 파일 읽기 도구1.1 cat (concatenate)텍스트 파일의 내용을 출력하거나 여러 파일을 합칠 때 사용합니다.사용법:cat file1.txt # 파일 출력cat file1.txt file2.txt # 두 파일의 내용 출력cat file1.txt > newfile.txt # 파일을 새로운 파일로 복사옵션:-n: 각 줄에 번호를 추가.-E: 줄 끝에 $ 표시.1.2 less대용량 파일을 페이지 단위로 탐색할 수 있습니다.파일을 읽는 데 최적화된 도구로, 메모리..
자료구조 & 알고리즘
- [자료구조 & 알고리즘] 그래프 + BFS 이전 포스트 - 그래프 + DFShttps://rnasterofmysea.tistory.com/45 [자료구조 & 알고리즘] 그래프 + DFS그래프에 대해 기초부터 차근차근 학습해보겠습니다. 그래프는 DFS와 BFS를 이해하는 데 필수적인 자료구조이므로, 기초 개념부터 간단한 구현까지 배우면 이후 탐색 알고리즘도 쉽게 이해할 수rnasterofmysea.tistory.com BFS (너비 우선 탐색)1. BFS 개요BFS(Breadth-First Search)는 그래프 탐색 알고리즘 중 하나로, 가장 가까운 노드부터 순차적으로 탐색하는 방식입니다. BFS는 큐(Queue)를 이용하며, 그래프의 최단 경로 탐색에도 활용됩니다. (DFS 일 경우 stack 사용)DFS(깊이 우선 탐색)와는 달리, BFS는 ..
- [자료구조 & 알고리즘] 그래프 + DFS 그래프에 대해 기초부터 차근차근 학습해보겠습니다. 그래프는 DFS와 BFS를 이해하는 데 필수적인 자료구조이므로, 기초 개념부터 간단한 구현까지 배우면 이후 탐색 알고리즘도 쉽게 이해할 수 있습니다. 1. 그래프란 무엇인가?정의: 그래프는 **노드(Node, 정점)**와 이들을 연결하는 **간선(Edge)**으로 이루어진 자료구조입니다.응용 분야: 네트워크(인터넷, 사회 연결망), 지리정보 시스템(지도), 경로 탐색(길 찾기), 관계 모델링(데이터 관계) 등.2. 그래프의 주요 용어정점(Vertex): 그래프를 이루는 점. 보통 숫자나 문자로 표현.간선(Edge): 정점 간의 연결선. 관계를 나타냄.방향성(Directionality):무방향 그래프: 간선에 방향이 없음 (A ↔ B).유방향 그래프: 간선..
- [자료구조 & 알고리즘] 탐색 알고리즘 총 정리 (feat. 이진탐색, DFS, BFS) 1. 탐색 알고리즘의 정의탐색 알고리즘은 데이터 구조(배열, 리스트, 트리 등)에서 특정 값 또는 조건을 만족하는 데이터를 찾는 과정을 말합니다.목적: 값이 데이터 안에 존재하는지 확인하거나, 위치를 반환.필수 요소:데이터 구조(정렬 여부, 크기, 형태)탐색 키(찾고자 하는 값)2. 탐색 알고리즘의 활용탐색 알고리즘은 다음과 같은 분야에서 광범위하게 사용됩니다:데이터 검색: 데이터베이스, 파일 시스템, 캐시.웹 검색 엔진: 키워드 기반 검색.네트워크 라우팅: 최단 경로 탐색.게임 개발: 경로 탐색, 상태 공간 탐색.AI 및 머신러닝: 상태 공간에서 최적의 값 찾기.3. 탐색 알고리즘의 종류 1) 선형 탐색 (Linear Search)정의:데이터를 처음부터 끝까지 순차적으로 확인하며 목표 값을 찾는 방식...
- [자료구조 & 알고리즘] 자료구조 개념 총정리 (향후 내용추가) 1. 선형 리스트 (Linear List)설명: 데이터를 연속된 메모리 공간에 저장하며, 순서를 보장하는 자료구조.특징:인덱스를 통해 O(1) 시간 복잡도로 접근.삽입/삭제는 O(n)로 비효율적.필수 알고리즘:이분 탐색 (Binary Search):정렬된 리스트에서 O(log n) 시간 복잡도로 값을 탐색.슬라이딩 윈도우 (Sliding Window):고정 크기의 연속 부분 리스트 처리. 자료 출처: https://velog.velcdn.com/images/hyhy9501/post/1c9f28a0-8e27-4aa2-9f6e-e89bb79ed2b4/image.png 2. 연결 리스트 (Linked List) 설명: 노드(Node)와 포인터로 구성된 비연속적 메모리 저장 구조.특징:삽입/삭제가 O(1)로 ..
- [알고리즘] 공부 목표 & 학습자료 학습 자료 - BaaaaaaaarkingDog 님의 강의 목차 및 알고리즘 공부 순서 https://blog.encrypted.gg/919 실전 알고리즘 강좌 리뉴얼에 대한 안내우선 실전 알고리즘 강좌를 영상으로 제작해 유튜브에 올릴 계획을 가지고 있습니다. https://www.youtube.com/channel/UCwFszkz9NbnQyQn5YbDfZtg 구독 좋아요 꺼마워요 ㅎㅅㅎ 현재 개정 전의 실전 알고리즘 강blog.encrypted.gg 0x00강 - 오리엔테이션 0x01강 - 기초 코드 작성 요령 I 0x02강 - 기초 코드 작성 요령 II 0x03강 - 배열 0x04강 - 연결 리스트 0x05강 - 스택 0x06강 - 큐 0x07강 - 덱 0x08강 - 스택의 활용(수식의 괄호 쌍) 0..
어학
반응형