티스토리 뷰
반응형
code
문제
문제 상황
- 총 합이 주어지고 요소의 수가 주어졌을 때 곱이 최대가 되는 집합을 찾는 문제
해결 전략
- 몇차 함수인지를 떠나 해의 개수가 늘어날 수록 자연수 범위에서 함수의 증가속도는 떨어진다. 즉, 요소의 곱은 모든 항이 다 같을 때, 가장 크면 같지 않더라도 그 차이가 적을수록 결과가 크게 된다.
- 최소 요소가 1이므로 총 합은 최소 1*n = n보다 커야하므로 n > s이면 [-1]을 반환한다.
- 고르게 나눠 몫을 배치하고 나머지를 1씩 배치하면 곱이 최대가 되는 집합이 된다.
코드
1
2
3
4
5
6
7
8
|
def solution(n, s):
if n > s:
return [-1]
q, r = divmod(s, n)
result = [q] * n
for i in range(1,r+1):
result[-i] += 1
return(result)
|
cs |
해설
- .
새로 학습한 것 & 실수
- .
출처 - https://programmers.co.kr/learn/courses/30/lessons/12938
반응형
'알고리즘 학습 > 프로그래머스' 카테고리의 다른 글
프로그래머스 - 하노이의 탑 [Python] (0) | 2020.09.04 |
---|---|
프로그래머스 - 가장 긴 팰린드롬 [Python] (0) | 2020.09.04 |
프로그래머스 - 야근 지수 [Python] (0) | 2020.09.03 |
프로그래머스 - 줄서는 방법 [Python] (0) | 2020.09.03 |
프로그래머스 - 멀리 뛰기 [Python] (0) | 2020.09.03 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Triangle#Sorting#Codility#Python
- django
- 섬의개수#백준알고리즘#Python
- 미로 탐색#백준알고리즘#Python
- Distinct#Codility#Python
- 텀 프로젝트#백준알고리즘#Python
- 토마토#백준알고리즘#Python
- 배열합치기#분할정복#BOJ#Python
- 반복수열#백준알고리즘#Python
- 리모컨#완전탐색#BOJ#Python
- N으로 표현#DP#Programmers#Python
- 터틀비치#리콘#xbox#controller
- 병든 나이트#BOJ#탐욕법#Python
- Swift#Tuples#Range
- 순열사이클#BOJ#Python
- Brackets#Stacks and Queues#Codility#Python
- 백준 알고리즘#BackTracking
- 암호코드#dp#BOJ#Python
- 날짜 계산#BOJ#완전탐색#Python
- filter#isalnum#lower
- 종이자르기#분할정복#BOJ#Python
- 나무자르기#BOJ#이분탐색#Python
- 파이썬알고리즘인터뷰#4장
- django#slicing
- 공유기 설치#BOJ#이분탐색#Python
- 랜선자르기#이분탐색#BOJ#Python
- PassingCars#Codility#Python
- 쿼드트리#BOJ#분할정복#Python
- NumberofDiscIntersections#Codility#Sort#Python
- API#lazy#
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함