목록Algorithm (39)
Just Fighting

https://programmers.co.kr/learn/courses/30/lessons/12982 코딩테스트 연습 - 예산 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 programmers.co.kr 그림과 같은 입력이 주어진다. d는 각 부서에서 신청한 금액이고, budget은 예산이다. 예산안에서 금액을 줄수있는 부서의 최대 개수를 리턴하라. 금액보다 덜 줄 수는 없다. 처음에는 combinations를 사용해서 풀면 되겠다고 생각했으나 시간초과가 나왔다. 그래서 조금 더 단순하게 풀 수 있는 방법을 생각해보았는데, 금액을..

https://programmers.co.kr/learn/courses/30/lessons/12977 코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 programmers.co.kr 주어진 배열에서 숫자 3개를 더했을 때 소수가 되는 경우의 개수를 리턴하라. itertools의 combinations를 사용하면 될 것이라고 생각했고, 문제를 쉽게 해결할 수 있었다. combinations를 이용해 숫자 3개의 조합을 모두 구하고, 그 조합의 합을 구했다. 그리고 소수를..

https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 수 정렬하기 N은 1부터 1,000,000이고, N개의 숫자는 모두 절대값이 1,000,000보다 같거나 작음. sort()가 O(nlogn)이라는 것을 알았다,, 그리고 input()으로 써서 틀린걸 한참을 돌아갈뻔했다. 잊지말자 sys.stdin.readline() import sys n = int(input()) num = [] for i in ..

https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 주어진 수를 오름차순으로 정렬하면 된다. 시간 제한 : 5초, 메모리 제한 : 8MB 시간과 메모리 제한이 까다로워서 기본적인 정렬로는 힘들 것이라고 생각했다. 그래서 heaqp를 시도해 보았으나 실패^^ 방법이 잘 떠오르지 않아 검색의 도움을 받았다*^^* sort()와 heapq 모두 실패 n = int(input()) num = [] for i in rang..