본문 바로가기
728x90

정렬7

[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.
[SWEA/Python] 2063. 중간값 찾기 📌 문제 https://swexpertacademy.com/main/main.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 📌 문제 접근 방법 list(map(int, input().split())) input으로 들어온 문자들을 split을 이용해서 띄어쓰기 기준으로 나눔 map을 통해 문자를 int형으로 변환 map형태에서 리스트 형태로 변환 중간에 있는 값을 출력하기 위해 2로 나눈 몫에 해당하는 인덱스로 접근 → 맞게 작성한 거 같은데 계속 다른 답이 나오길래 왜지? 했더니, 리스트의 요소들이 정렬되어 있지 않았기 때문! sort를 해주니까 원하는 답 출력! 📌 코드 N = int(input()).. 2021. 7. 21.
728x90