본문 바로가기

[C언어] 백준온라인/정렬

(5)
[C 언어] 백준 1427. 소트인사이드 1427. 소트인사이드 (누르면 해당 문제로 이동) 숫자를 정렬하는 문제 제약사항) 시간 : 2 초 메모리 : 128 MB 문제) 배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자. 입력) 첫째 줄에 정렬하고자하는 수 N이 주어진다. N은 1,000,000,000 보다 작거나 같은 자연수이다. 출력) 첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다. 입출력 예제 입력 출력 2143 4321 풀이 순서) 1. 입력 N 이 공백 없이 한 줄로 주어지기 때문에 gets 함수를 이용하여 char 형으로 입력받습니다. 2. 입력 받은 수의 각 자리수를 비교하여 내림차순으로 정렬합니다. 3. puts 함수를 이용하여 정렬된 수를 출력합니다. 소스코드 및 결과 (C) #i..
[C 언어] 백준 2108. 통계학 2108. 통계학 (누르면 해당 문제로 이동) 정렬을 활용하는 문제 제약사항) 시간 : 2 초 메모리 : 256 MB 문제) 수를 처리하는 것은 통계학에서 상당히 중요한 일이다. 통계학에서 N개의 수를 대표하는 기본 통계값에는 다음과 같은 것들이 있다. 단, N은 홀수라고 가정하자. 1. 산술평균 : N개의 수들의 합을 N으로 나눈 값 2. 중앙값 : N개의 수들을 증가하는 순서로 나열했을 경우 그 중앙에 위치하는 값 3. 최빈값 : N개의 수들 중 가장 많이 나타나는 값 4. 범위 : N개의 수들 중 최댓값과 최솟값의 차이 N개의 수가 주어졌을 때, 네 가지 기본 통계값을 구하는 프로그램을 작성하시오. 입력) 첫째 줄에 수의 개수 N(1 cnt[4010]++ / num = -1 -> cnt[3999]+..
[C 언어] 백준 10989. 수 정렬하기 3 10989. 수 정렬하기 3 (누르면 해당 문제로 이동) 수의 범위가 작다면 카운팅 정렬을 사용하여 더욱 빠르게 정렬할 수 있습니다. 제약사항) 시간 : 3 초 메모리 : 8 MB * 시간 제한 안내 (아래 적혀있지 않은 시간 제한은 언어 도움말에 적혀있는 기준을 따른다.) Java : 3초 / Java(OpenJDK) : 3초 / Java 11 : 3초 / Kotlin(JVM) : 3초 * 메모리 제한 안내 (아래 적혀있지 않은 메모리 제한은 언어 도움말에 적혀있는 기준을 따른다.) Java : 512MB / Java(OpenJDK) : 512MB / Java 11 : 512MB / Kotlin(JVM) : 512MB 문제) N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. ..
[C 언어] 백준 2751. 수 정렬하기 2 2751. 수 정렬하기 2 (누르면 해당 문제로 이동) 시간 복잡도가 O(nlogn) 인 정렬 알고리즘으로 풀 수 있습니다. 예를 들면 병합 정렬, 힙 정렬 등이 있지만, 어려운 알고리즘이므로 지금은 언어에 내장된 정렬 함수를 쓰는 것을 추천드립니다. 제약사항) 시간 : 2 초 메모리 : 256 MB 문제) N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력) 첫째 줄에 수의 개수 N(1
[C 언어] 백준 2750. 수 정렬하기 2750. 수 정렬하기 (누르면 해당 문제로 이동) 시간 복잡도가 O(n^2)인 정렬 알고리즘으로 풀 수 있습니다. 예를 들면 삽입 정렬, 거품 정렬 등이 있습니다. 제약사항) 시간 : 1 초 메모리 : 128 MB 문제) N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력) 첫째 줄에 수의 개수 N(1 num[i]) { tmp = num[i]; num[i] = num[i - 1]; num[i - 1] = tmp; } else flags++; } if (flags == N-1) break; } for (int i = 0; i < N; i++) printf("%d\n", num[i]); return 0; } 메모리 : 1112 KB 시간 : 0 ms 코드길이 : 442 B