-
BOJ 10989: 수 정렬하기 3알고리즘 2023. 5. 11. 20:16
#BOJ 10989: 수 정렬하기 3
10989번: 수 정렬하기 3
첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다.
www.acmicpc.net
#풀이
mergesort 를 연습하고 있어서 mergesort로 풀었지만 메모리 초과 가 나왔다 그 이유는 n의 개수가 너무 커서 문제였다.
메모리를 줄일 수 있는 방법을 생각하다가 입력을 숫자로 하고 여러번 반복 되게 입력할 수 있으니 숫자의 개수를 세어서
출력을 하면 된다.
#코드
#include<iostream> // #include<bits/stdc++.h> using namespace std; int n; int arr[10001]; int main() { ios::sync_with_stdio(0); cin.tie(0); cin >> n; for (int i = 0; i < n; i++) { int num = 0; cin >> num; arr[num]++; } for (int i = 0; i < 10001; i++) { if (arr[i] == 0) continue; for (int j = 0; j < arr[i]; j++) cout << i << '\n'; } return 0; }
'알고리즘' 카테고리의 다른 글
BOJ 11650: 좌표 정렬하기 (0) 2023.05.11 BOJ 10814: 나이순 정렬 (0) 2023.05.11 BOJ 14500: 테트로미노 (0) 2023.05.08 BOJ 3190: 뱀 (0) 2023.05.04 BOJ 14503: 로봇 청소기 (0) 2023.05.03