본문 바로가기

정렬

[백준/C언어] 18870번 - 좌표 압축 백준 웹사이트 "18870번 - 좌표 압축" 문제풀이입니다. 언어는 C언어입니다. (제출 언어: C99) 문제 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌 www.acmicpc.net 소스 코드 #include void merge_sort(int *arr, int index, int len); void merge(int *arr, int l_index, int r_index, int l_len, int r_len); int binary_search(int * arr, int elemen.. 더보기
[백준/C언어] 10814번 - 나이순 정렬 백준 웹사이트 "10814번 - 나이순 정렬" 문제풀이입니다. 언어는 C언어입니다. (제출 언어: C99) 문제 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net 소스 코드 #include #include void merge_sort(int *arr, char (*name)[101], int index, int len); void merge(int *arr, char (*name)[101], int l_index, int r_index, int l_len, int r_len); int main(void){ int N;.. 더보기
[백준/C언어] 1181번 - 단어 정렬 백준 웹사이트 "1181번 - 단어 정렬" 문제풀이입니다. 언어는 C언어입니다. (제출 언어: C99) 문제 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 소스 코드 #include #include void merge_sort(char (*arr)[51], int index, int len); void merge(char (*arr)[51], int l_index, int r_index, int l_len, int r_len); int compare(char (*a)[51], char (*b)[5.. 더보기
[백준/C언어] 11651번 - 좌표 정렬하기 2 백준 웹사이트 "11651번 - 좌표 정렬하기 2" 문제풀이입니다. 언어는 C언어입니다. (제출 언어: C99) 문제 11651번: 좌표 정렬하기 2 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 소스 코드 #include void merge_sort(int (*arr)[2], int index, int len); void merge(int (*arr)[2], int l_index, int r_index, int l_len, int r_len); int compare(int (*a)[.. 더보기
[백준/C언어] 11650번 - 좌표 정렬하기 백준 웹사이트 "11650번 - 좌표 정렬하기" 문제풀이입니다. 언어는 C언어입니다. (제출 언어: C99) 문제 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 소스 코드 #include void merge_sort(int (*arr)[2], int index, int len); void merge(int (*arr)[2], int l_index, int r_index, int l_len, int r_len); int compare(int (*a)[2], .. 더보기
[백준/C언어] 1427번 - 소트인사이드 백준 웹사이트 "1427번 - 소트인사이드" 문제풀이입니다. 언어는 C언어입니다. (제출 언어: C99) 문제 1427번: 소트인사이드 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 소스 코드 #include #include int main(void){ char N[11]; // N은 1,000,000,000 보다 작거나 같음 scanf("%s", N); int length = strlen(N); int counting[10]; for(int i=0; i 더보기
[백준/C언어] 2108번 - 통계학 백준 웹사이트 "2108번 - 통계학" 문제풀이입니다. 언어는 C언어입니다. (제출 언어: C99) 문제 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 소스 코드 #include #include int arith_mean(int *arr, int N); int median(int *counting, int N); int mode(int *counting, int N); int range(int *counting, int N); int main(void){ int N; scanf("%d", &N); int arr[N]; f.. 더보기
[백준/C언어] 10989번 - 수 정렬하기 3 백준 웹사이트 "10989번 - 수 정렬하기 3" 문제풀이입니다. 언어는 C언어입니다. (제출 언어: C99) 문제 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 소스 코드 #include int main(void){ int N; scanf("%d", &N); // 1. 카운팅 배열 선언/초기화 int counting[10001]; for(int i=0; i 더보기