전체 글 217

1주차 네트워크 공부내용 정리

네트워킹(Networking) : 장비들을 서로 대화가 가능하도록 묶어 주는 것. => 왜? 정보와 자원의 공유를 위해서. 인터넷(Internet) : 네트워크 여러개 묶어 놓은 네트워크 연합. 첫번째 특징. 하나의 프로토콜(Protocol)을 사용. => 프로토콜이 여러개일 경우 서로 통신이 불가능. ex) 한국인과 일본인의 의사소통 => 프로토콜이란? : 통신 규약 ex) TCP/IP 두번째 특징. 웹 브라우저를 통해서 사용. ex) 익스플로러, 넷스케이프 => 우리가 흔히 보는 www.naver.com에서 www는 World Wide Web의 줄임말. 인트라넷(IntraNet) : 회사에서 사용하는 여러가지 프로그램들을 인터넷을 쓰는것 처럼 만들어 둔것. 즉 회사사람을 제외한 다른 사람은 접속 불가..

Network 2022.03.30

[C언어] 퀵정렬 함수 qsort

⚠️ 내맘대로하는 설명이기 때문에 비합리적 진행과 근거없는 추론이 있을 수 있습니다!⚠️ 오늘은 qsort라고도 부르는 퀵정렬에 대해서 알아볼거다. qsort는 배열을 순서대로 정렬하는 기능을 한다. 당연히 숫자도 가능하고, 문자도 가능하다. 그럼 어떨때 사용할까? 무작위로 입력을 받은 배열에서 내가 원하는 값을 찾아낼때 정렬을 한 후 이진탐색을 한다거나, 사전순 출력을 할때 주로 사용한다. qsort는 헤더파일 에서 제공하는 함수이다. 인자는 총 4개를 받는다. void qsort (void *base, size_t nel, size_t width, int (*compare)(const void *, const void *) base는 정렬하고자 하는 배열 nel은 정렬하고자 하는 배열의 크기 widt..

[C언어] 백준 1991번 : 트리 순회 <Silver 5>

⚠️ 내맘대로 작성한 코드이기 때문에 비합리적 진행과 근거없는 추론이 있을 수 있습니다!⚠️ https://www.acmicpc.net/problem/1991 1991번: 트리 순회 첫째 줄에는 이진 트리의 노드의 개수 N(1 ≤ N ≤ 26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 알파 www.acmicpc.net Code #include #include // 구조체 설정 typedef struct Node{ char data; struct Node *left; struct Node *right; }node; // 노드 생성 node *makeNode(char ch){ node *nd = (node*)ma..

Bakejoon/Silver 2022.03.06

[C언어] 백준 2108번 : 통계학 <Silver 3>

⚠️ 내맘대로 작성한 코드이기 때문에 비합리적 진행과 근거없는 추론이 있을 수 있습니다!⚠️ https://www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net Code #include #include #include #include // qsort를 위한 compare함수 int compare(const void *a, const void *b) // 오름차순 비교 함수 구현 { int num1 = *(int *)a; // void 포인터를 int 포인터로 변환한 뒤 역참조하..

Bakejoon/Silver 2022.02.22

[C언어] 백준 11729번 : 하노이 탑 이동 순서 <Silver 1>

⚠️ 내맘대로 작성한 코드이기 때문에 비합리적 진행과 근거없는 추론이 있을 수 있습니다!⚠️ https://www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net Code #include #include // 하노이탑 이동 규칙을 이용한 재귀함수 void hanoi(int N, int one, int two, int three ){ if(N == 1) printf("%d %d\n", one, three); else{ hanoi(N-1, one, thre..

Bakejoon/Silver 2022.02.21

[C언어] 백준 1021번 : 회전하는 큐 <Silver 3>

⚠️ 내맘대로 작성한 코드이기 때문에 비합리적 진행과 근거없는 추론이 있을 수 있습니다 ⚠️ 문제 링크 : https://www.acmicpc.net/problem/1021 1021번: 회전하는 큐 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 www.acmicpc.net Code #include void reset_arr(int N, int array[]){ for(int i = 1; i < N + 1; i++){ // 배열 초기화 array[i] = i; } } int main() { int arr[51] = {0,}; int size = 0; // 총..

Bakejoon/Silver 2022.02.20

[C언어] 백준 20291번 : 파일정리 <Silver 3>

⚠️ 내맘대로 작성한 코드이기 때문에 비합리적 진행과 근거없는 추론이 있을 수 있습니다 ⚠️ 문제 링크 : https://www.acmicpc.net/problem/20291 20291번: 파일 정리 친구로부터 노트북을 중고로 산 스브러스는 노트북을 켜자마자 경악할 수밖에 없었다. 바탕화면에 온갖 파일들이 정리도 안 된 채 가득했기 때문이다. 그리고 화면의 구석에서 친구의 메시지를 www.acmicpc.net Code #include #include #include // qsort를 위한 compare함수 int compare(const void *a, const void *b) { return strcmp((char *)a, (char *)b); } int main() { char result[5000..

Bakejoon/Silver 2022.02.19