본문 바로가기

알고리즘 문제풀이/백준문제풀이91

[백준문제풀이] 2751 수 정렬하기 2 풀이일시 : 2020-07-30 ​ 문제 : N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. ​ 입력 : 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. ex) 5 5 4 3 2 1 ​ 출력 : 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. ex) 1 2 3 4 5 ​ 풀이 : 수의 개수가 100만 이하라는 것에 주목하자. -> O(N^2) 의 시간복잡도를 가지는 정렬 알고리즘을 사용하게되면 100만 * 100만 = 1조 까지 나올 수 있다. 하지만 시간제한이 1초이기 때문에 대략 이정도의 시.. 2020. 12. 29.
[백준문제풀이] 2750 수 정렬하기 풀이 일시 : 2020-07-30 ​ 문제 : N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. ​ 입력 : 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. ex) 5 5 2 3 4 1 ​ 출력 : 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. ex ) 1 2 3 4 5 ​ 풀이 : N을 먼저 입력 받고 N개의 숫자를 입력받아 배열에 입력해준다. 이후 원하는 sort 알고리즘으로 sort 후 출력한다. 시간복잡도 O(N^2) #include #define MAX 1001 int a[MAX]; int main(.. 2020. 12. 29.
[백준문제풀이] 2752 세수정렬 풀이 일시 : 2020-07-30 ​ 문제 : 동규는 세수를 하다가 정렬이 하고싶어졌다. 숫자 세 개를 생각한 뒤에, 이를 오름차순으로 정렬하고 싶어 졌다. 숫자 세 개가 주어졌을 때, 가장 작은 수, 그 다음 수, 가장 큰 수를 출력하는 프로그램을 작성하시오. ​ 입력 : 숫자 세 개가 주어진다. 이 숫자는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 이 숫자는 모두 다르다. ex) 3 1 2 ​ 출력 : 제일 작은 수, 그 다음 수, 제일 큰 수를 차례대로 출력한다. ex) 1 2 3 ​ 풀이 : 입력을 받은 뒤 알고있는 sort 알고리즘으로 sort 하여 print 한다. 크기가 3으로 정해져있기때문에 a[3]을 잡아놓고 시작한다. #include int main() { int a[3].. 2020. 12. 29.
반응형