c언어
-
[알고리즘] 선택 정렬 (Selection Sort)알고리즘 & 자료구조/알고리즘 2021. 3. 4. 11:28
예를 들어 *1 10 5 8 7 6 4 3 2 9 * 라는 숫자들을 오름차순으로 정렬하려고 한다고 가정해보자 사람이라면 직관적으로 보고 작은 수 를 찾아 순서대로 정렬하겠지만, 컴퓨터는 배열을 하나하나 읽기전 까지는 어떤 값이 들어있는지 알지 못한다. 따라서 정렬을 위해서는 알고리즘이 필요하다. 그 중에서도 선택정렬은 모든 배열을 탐색 후, 가장 작은 수를 앞으로 보내는 방식으로 동작한다. ex) arr[10] *1 10 5 8 7 6 4 3 2 9 * 모든 배열을 탐색 후 , 1이 가장 작은 숫자로 알맞은 위치에 있으므로, 이제는 1을 제외한 10 부터 9까지를 탐색해준다. *1 2 5 8 7 6 4 3 10 9 * 나머지 배열중에 가장 작은 수는 2이므로 arr[1] 인덱스의 값으로 넣어주고 원래 2..
-
[baekjoon]C언어 1991번 (트리 순회)알고리즘 & 자료구조/코딩테스트 2021. 1. 28. 18:10
문제 이진 트리를 입력받아 전위 순회(preorder traversal), 중위 순회(inorder traversal), 후위 순회(postorder traversal)한 결과를 출력하는 프로그램을 작성하시오. 예를 들어 위와 같은 이진 트리가 입력되면, 전위 순회한 결과 : ABDCEFG // (루트) (왼쪽 자식) (오른쪽 자식) 중위 순회한 결과 : DBAECFG // (왼쪽 자식) (루트) (오른쪽 자식) 후위 순회한 결과 : DBEGFCA // (왼쪽 자식) (오른쪽 자식) (루트) 가 된다. 입력 첫째 줄에는 이진 트리의 노드의 개수 N(1≤N≤26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 영문자..
-
[baekjoon]C언어 10845번 (큐)알고리즘 & 자료구조/코딩테스트 2021. 1. 27. 19:01
문제 정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여섯 가지이다. push X: 정수 X를 큐에 넣는 연산이다. pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 큐에 들어있는 정수의 개수를 출력한다. empty: 큐가 비어있으면 1, 아니면 0을 출력한다. front: 큐의 가장 앞에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. back: 큐의 가장 뒤에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. 입력 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 ..
-
[C언어] 문자열 비교 strcmp,strncmpC \ C++ 2021. 1. 26. 17:21
strcmp 두 문자열이 같으면 0을, 같지 않으면 0이 아닌 값을 반환한다. strncmp 두 문자열의 원하는 길이만큼 같으면 0, 같지 않으면 0이 아닌값 반환한다. //헤더파일 //c: //c++ : int strcmp(const char* str1, const char* str2) //str1, str2 : 비교할 문자열 1 ,2 int strncmp(const char* str1, const char* str2, size_t n); //str1 , str2, n : 비교할 문자열 1, 2, 비교할 문자열 길이 strcmp, strncmp 는 각각 아스키 코드 값으로 비교를 하고, 아스키 코드를 사용 하므로 대소문자 구별이 가능하다 그리고 0혹은 양수 음수를 반환 하는데 그 경우는 * 첫번째 인자..