기억해주세요
개수 정렬은 데이터의 값을 그 크기가 한정 되어 있는 경우에만 사용이 가능하지만 그러한 조건만 적절히 만족한다면 매우 빠르게 동작한다는 점이 특징입니다
또한 추가적으로 대부분의 프로그래밍언어에서 지원하는 표준 정렬 라이브러리는 최악에 경우에도 O(NlogN)을 보장할 수 있도록 설계되어 있기 때문에
랜덤한 만개의 데이터
1부터 100사이의
수행시간
점 유의해 주세요
무작위 데이터로 초기화 할수
정리 수행시간 측정은 우리가 이 코드를 실행한 컴퓨팅 장치에 따라서 차이가 존재할 수 있음
100사이의
O(NlogN)의 시간 복잡도를 보장합니다
실제 수행결과를
와 b가 있는 상황에서
1과 6
2 와 6
3 과 5를 바꾸면 되겠습니다 즉 A배열의 가장 작은 3개의 값과 B배열의 가장 큰 3개의 값을 바꿔주면됨
연산을 세번 수행 했을때
뒤에 다
에 대하여 오름차순 정렬하고
이 A에 원소가 B원소 보다 작을때에만 교체를 수행하면 됩니다
두배열의 원소가 최대 10만개 까지 들어올수
n제곱으로 동작하는
시간초과 판정
n log n 을 보장하는
정리
두배열의 원소가 최대 10만개 까지 들어올수있기 때문에 우리가 N제곱으로 동작하는 선택 정렬과 같은 알고리즘을 이용했을때 시간초과 판정을 받을 수 있습니다 그렇기 때문에 최악의 경우에도 O(NlogN)을 보장하는 정렬 알고리즘을 이용해야 합니다
프로그래밍 언어에서 제공하는 표준 라이브러리를 사용할 수 있음
자 이렇게 n과k에 입력을 받고
배열 a와 b에 대해서 모두 입력을 받습니다
배열 a는
이 리버스 속성값으로 ture값을 넣어주면 내림차순으로 수행함
그래서 매번 이 a에 원소가 이 b에 원소보다 작은 경우에는 두 원소를 교차해서
a의 원소가 b원소 보다 크거나 같을때에는
더이상 배열a의 합을 크게 만들수 없기때문에 그경우에는 반복문을 탈출하면 됩니다
답안을 작성할수 있는데요 이때 백터 라이브러리를 이용해서 배열 a와 배열 b의 모든 원소를 담을수 있도록 합니다
원소의 값이 더 큰경우에
이 a의 원소가 b의 원소보다 작을때만 이 원소를
배열 b의 뒤에 어레이스에
배열 b는 내림차순 정렬을 수행하기 위해
이 컬렉션스라이브러리의 리벌스오덜 메소드를
a에 원소가 b의 원소보다 작은 경우에만
로직으로
있는걸 확인할수 있습니다
Last Updated:
Summarize & share videos seamlessly
Loading...