문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 풀이 문제 소개에 카운팅 정렬을 사용하면 된다고 해서 순수하게 구현해놓은 카운팅 정렬을 써보았다. 단 한 문제도 통과하지 못하고 메모리 초과. 어떻게든 스텝을 줄여보려고 for문을 합쳐보기도 하고 리스트의 요소 개수를 조절해봐도 여전히 메모리 초과와 시간 초과. 그래도 도전해보겠다고 한시간 내내 매달리다가 포기하고 그냥 카운팅 정렬의 아이디어만 응용하기로 했다. 풀이 단계..
문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 풀이 카운팅 정렬은 대상 배열의 크기 N과 원소중 최댓값 k에 따라 O(N + k)의 시간 복잡도를 가진다. 이는 배열의 크기가 작고, 수의 범위가 좁을수록 무시무시한 속도를 자랑하는데, 이번 문제는 그 카운팅 정렬을 구현해보라는 문제이다. 다른 글에서 구현했으므로, 여기서는 그냥 가져다 쓴다. 2022.12.27 - [Development/Java] - [Algorith..
- Total
- Today
- Yesterday
- 유럽여행
- 백준
- 중남미
- 유럽
- a6000
- 파이썬
- 동적계획법
- 세계일주
- java
- 칼이사
- 지지
- 세모
- 스프링
- 세계여행
- 여행
- 자바
- 면접 준비
- BOJ
- Algorithm
- 스트림
- 맛집
- 리스트
- 기술면접
- 알고리즘
- Backjoon
- RX100M5
- Python
- 야경
- 남미
- spring
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |