1%! 10%.
Posts
98 posts백준 온라인 저지 2751번 - 수 정렬하기 2
#include int MergeSort(int *ar, int len){ if(len < 2) return 0; int mid = len / 2; MergeSort(ar, mid); MergeSort(ar + mid, len - mid); int *buf; buf = (int *)malloc(len*sizeof(int)); int i = 0; // 앞 int j = mid; // 뒤 int k = 0; //new 배열 index while(i < mid && j < len){ buf[k++] = (ar[i] < ar[j]) ?
기본 정렬 알고리즘 정리.
출처 :http://hsp1116.tistory.com/33 //그림과 상세 설명이 나와있다. 참고!!! 1. 선택 정렬(Selection Sort) 이름에 맞게 현재 위치에 들어갈 값을 찾아 정렬하는 배열.현재 위치에 저장될 값이 작냐(오름차순), 크냐(내림차순)에 따라 최소 선택 정렬. 최대 선택 정렬로 나뉜다. 기본 로직정렬되지 않은 인덱스의 맨 앞(배열의 시작위치)에서부터, 이를 포함한 그 이후의 배열 값 중 가장 작은 값을 찾아간다.가장 작은 값을 찾으면, 그 값을 현재 인덱스와 바꿔준다.다음 인덱스에서 위 과정 반복해준다. (->끝까지)이 정렬 알고리즘은 n-1개, n-2개, ... , 1개씩 비교를 진행한다.배열이 어떻든 간에 전체 비교를 실행하므로 시간복잡도는 O(N^2)이다.공간
백준 온라인 저지 1850번 - 최대공약수
#include #define swap(a, b){ int t; t = a; a = b; b = t;} int gcd(int a, int b){ int c; if(a < b) swap(a, b); while(b){ c = a % b; a = b; b = c; } return a; } int Getnum(int a){ int num = 0; while(a){ a--; num = num * 10 + 1; } return num; } int main(void){ int a, b; scanf("
백준 온라인 저지 2609번 - 최대공약수와 최소공배수
#include #define swap(a, b){int t; t = a; a = b; b = t;} int gcd(int a, int b){ if(a
백준 온라인 저지 13241 - 최소공배수
#include #define swap(a,b){ int t; t = a; a = b; b = t;} int gcd(long long int a, long long int b){ long long int c; while(b){ c = a % b; a = b; b = c; } return a; } int main(){ long long int Cdiv = 1ll; // 공약수 long long int a, b; scanf("%lld %lld", &a, &b); if(a < b) swap(a,b); Cdiv = gcd(a, b);



