본문 바로가기
728x90

정렬7

[PG/Python] 베스트앨범 📌 문제 https://programmers.co.kr/learn/courses/30/lessons/42579 코딩테스트 연습 - 베스트앨범 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 programmers.co.kr 📌 문제 접근 방법 앨범에 노래를 수록하는 조건의 순서는 다음과 같다. 속한 노래가 많이 재생된 장르 - 장르 내에서 많이 재생된 노래 - 재생 횟수가 같은 경우 고유 번호가 낮은 노래 아직 lambda 사용이 익숙치 않아서 원하는 대로 정렬을 하는 게 어려웠다. 하지만 정렬만 제대로 한다면 어렵지 않은 문제! 📌 코드 from collections .. 2021. 12. 29.
[Python] 2차원 배열, 딕셔너리 정렬 2차원 배열 정렬 lst = [[3, 'B'], [0, 'D'], [1, 'A'], [2, 'C']] [sorted 사용] : 원본 리스트는 그대로 유지한 채, 정렬된 리스트를 반환 # 1 print(sorted(lst)) # 2 print(sorted(lst, key=lambda x : x[0])) # 3 print(sorted(lst, key=lambda x : x[1])) # [[0, 'D'], [1, 'A'], [2, 'C'], [3, 'B']] # [[0, 'D'], [1, 'A'], [2, 'C'], [3, 'B']] # [[1, 'A'], [3, 'B'], [2, 'C'], [0, 'D']] 기본적으로 key값을 설정하지 않고 sorted를 사용하면 리스트의 첫 번째 요소를 기준으로 정렬을 .. 2021. 10. 8.
[BOJ/Python] 10989. 수 정렬하기 3 📌 문제 https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 📌 문제 접근 방법 카운팅 정렬 적용해보기! 처음엔 자꾸 메모리 초과가 떠서 고민하다가 숫자를 입력받아서 리스트를 만들지 않고, 바로 카운팅을 해줬다! 그래도 인덱스에러가 나길래 또 뭘까 하니까 입력받는 숫자가 한 자리수가 아니라 10000까지 들어오는 것이었다..! 쉬워보여서 무시했는데 쉽지 않네..ㅎ... 📌 코드 import sys N = int(sys.stdin.readline()) cnt = [0].. 2021. 8. 18.
[BOJ/Python] 2750. 수 정렬하기 📌 문제 https://www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 📌 문제 접근 방법 선택 정렬 적용해보기! 📌 코드 import sys from typing import NoReturn N = int(sys.stdin.readline()) numbers = [] for _ in range(N): numbers.append(int(sys.stdin.readline())) # 선택 정렬 for i in range(len(numbers)-1): min_idx = i.. 2021. 8. 18.
728x90