[PG/Python] 가장 큰 수
📌 문제 https://programmers.co.kr/learn/courses/30/lessons/42746 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 📌 문제 접근 방법 처음 시도 : 모든 숫자의 조합을 다 만든 다음, 정렬해서 비교 그런데 모든 숫자의 조합을 어떻게 만들까 고민하다보니 굳이 만들 필요가 없었던 것! 맨 처음부터 리스트를 내림차순 정렬한 후, 모두 이어붙이면 된다. 대신, 숫자의 절대적인 크기 기준이 아니라 이어붙였을 경..
2021. 8. 18.
[Algorithm] 정렬 - 버블정렬, 카운팅 정렬, 선택 정렬
정렬 (Sort) 데이터를 정해진 순서대로 나열 대표적인 정렬 방식 버블 정렬 카운팅 정렬 선택 정렬 퀵 정렬 삽입 정렬 병합 정렬 arr = [5, 6, 2, 9, 7, 1, 8, 3, 4, 0] 위와 같은 배열을 오름차순 정렬한다고 할 때, 정렬별로 어떻게 구현할 수 있을까? 버블 정렬 (Bubble Sort) 인접한 두 개의 원소를 비교하며 자리를 계속 교환하는 방식 첫 번째 원소부터 인접한 원소끼리 계속 자리를 교환하면서 맨 마지막 자리까지 이동 (가장 큰 원소부터 맨 마지막 자리에서 점점 앞으로 채워 넣기) 비교와 교환 O(n^2) # Bubble sort def BubbleSort(arr): for i in range(len(arr)-1, 0, -1): for j in range(0, i): ..
2021. 8. 16.