반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
Tags
- 코테
- 급등 이유
- 손에 잡히는 경제
- 코딩테스트
- 프로그래머스
- boj
- 급등주 분석
- 경제뉴스 요약
- 상한가 이유
- 경제뉴스
- 파이썬
- java
- 상한가 분석
- 주식
- 주식 상한가
- Python
- 주식 분석
- 알고리즘
- 손경제 요약
- 자바
- 상한가
- 경제
- Programmers
- 급등주
- 이진우
- 손에 잡히는 경제 요약
- 손경제
- 테마주
- 이진우의 손에 잡히는 경제
- 백준
Archives
- Today
- Total
Completion over Perfection
프로그래머스 - 최고의 집합 (파이썬3 Python3) 본문
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/12938
n과 s가 주어지는데 n개의 원소를 가진 집합의 각 원소의 합은 s가 되어야합니다.
n이 3이고 s가 8일 경우, 원소는 3개이고 이 3개의 원소를 모두 합친 값이 8이 되어야 합니다.
{1,1,6}
{1,2,5}
{1,3,4}
{2,3,3}
.
.
.
중요한 특징은 원소의 순서는 상관이 없다는 것.
따라서 위의 예시에서 {1,2,5} 와 {1,5,2}는 한개의 집합으로 취급한다는 겁니다.
이 조건을 만족하는 집합은 예시에서 보았듯이 여러개가 나오겠지만,
그 중에서 n개의 원소를 모두 곱했을 때 최대치가 나오는 집합이 최고의 집합이라고 합니다.
이 문제를 보자마자 느낀것은
최고의 집합은 s를 n으로 나눈 값이 무조건 포함이 되어야 한다는 것이었습니다.
그리고 이 s를 n으로 나눈값을 집합에 계속 추가해준다면 결국 그것이 최고의 집합이 된다는 뜻이겠죠.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
def solution (n, s):
if n>s:
return [-1]
answer = []
keyNum = s//n
answer.append(keyNum)
n -= 1
while n > 0:
s -= keyNum
keyNum = s//n
answer.append(keyNum)
n -= 1
# print("n : ", n, "s : ", s, "keyNum : ", keyNum)
return answer
|
cs |
반응형
'파이썬 (Python)' 카테고리의 다른 글
프로그래머스 - 안전지대 (파이썬3 Python3) (0) | 2023.08.21 |
---|---|
프로그래머스 - 무인도 여행 (파이썬3 Python3) (0) | 2023.08.20 |
프로그래머스 - 추억 점수 (파이썬3 Python3) (0) | 2023.08.15 |
프로그래머스 - 달리기 경주 (Python 3 파이썬 3) (0) | 2023.08.14 |
Introducing to Python Django Framework (0) | 2023.01.29 |
Comments