본문 바로가기
728x90

ALGORITHM142

[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.
[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.
[PG/Python] K번째수 📌 문제 https://programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr 📌 문제 접근 방법 버블 정렬 적용해보기! 📌 코드 def solution(array, commands): answer = [] for i, j, k in commands: cut_arr = array[(i-1):j] # 버블 정렬 for x in range(len(cut_arr)-1, -1, -1): for y in range(0, x): if cut_arr[y] > cut_arr[y+1]: cut_arr[y], cu.. 2021. 8. 16.
728x90