일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 투포인터
- react #리액트 #동빈나
- PYTHON
- 파이썬 #백준 #알고리즘 #코딩테스트
- 코딩테스트
- 다익스트라
- java #자바 #나동빈
- 다이나믹프로그래밍
- 프로그래머스
- java #자바 #생활코딩
- DFS
- java #자바
- 알고리즘
- css #웹 #생활코딩
- 재귀
- 프로그래머스 #파이썬 #알고리즘 #코딩테스트
- java #자바 #동빈나
- 자바 #java
- 백트랙킹
- Dijkstra
- 백준 #파이썬 #알고리즘 #코딩테스트
- 백준
- dp
- css #생활코딩 #웹
- 백준 #알고리즘 #파이썬 #코딩테스트
- react #리액트 #동빈나 #나동빈 #유튜브강의
- BFS
- 파이썬 #알고리즘 #코딩테스트 #프로그래머스
- 프로그래머스 #파이썬 #코딩테스트 #알고리즘
- 파이썬
Archives
- Today
- Total
커리까지
[프로그래머스] 연속된 수의 합 파이썬 본문
728x90
SMALL
문제 설명
연속된 세 개의 정수를 더해 12가 되는 경우는 3, 4, 5입니다. 두 정수 num
과 total
이 주어집니다. 연속된 수 num
개를 더한 값이 total
이 될 때, 정수 배열을 오름차순으로 담아 return하도록 solution함수를 완성해보세요.
제한사항
- 1 ≤
num
≤ 100 - 0 ≤
total
≤ 1000 num
개의 연속된 수를 더하여total
이 될 수 없는 테스트 케이스는 없습니다.
입출력 예
num | total | result |
---|---|---|
3 | 12 | [3, 4, 5] |
5 | 15 | [1, 2, 3, 4, 5] |
4 | 14 | [2, 3, 4, 5] |
5 | 5 | [-1, 0, 1, 2, 3] |
입출력 예 설명
입출력 예 #1
num
= 3,total
= 12인 경우 [3, 4, 5]를 return합니다.
입출력 예 #2
num
= 5,total
= 15인 경우 [1, 2, 3, 4, 5]를 return합니다.
입출력 예 #3
- 4개의 연속된 수를 더해 14가 되는 경우는 2, 3, 4, 5입니다.
입출력 예 #4
- 설명 생략
제출 답안
- 이 방법은 계속해서 start, end를 갱신하는 방법이다.
- 다른 방법으로는 등차수열처럼 공식을 사용해서 구하는 방법이 있다.
def solution(num, total):
start, end = 1, 1 + num
while True:
continuous_integer = [i for i in range(start, end)]
integer_sum = sum(continuous_integer)
if integer_sum == total:
return continuous_integer
if total < integer_sum:
start -= 1
end -= 1
else:
start += 1
end += 1
728x90
LIST
'알고리즘 > 풀이' 카테고리의 다른 글
[프로그래머스] 겹치는 선분의 길이 파이썬 (0) | 2023.10.26 |
---|---|
[프로그래머스] 다음에 올 숫자 파이썬 (0) | 2023.10.25 |
[프로그래머스] 평행 파이썬 (1) | 2023.10.24 |
[프로그래머스] 분수의 덧셈 파이썬 (0) | 2023.10.24 |
[프로그래머스] 정수를 나선형으로 배치하기 파이썬 (0) | 2023.10.23 |