학습 자료
목표값보다 큰 합을 가진 정수 리스트 해설
목표값(target)보다 큰 합을 가진 최소 길이의 연속된 정수 리스트를 반환하는 함수를 작성합니다.
이 함수는 스택을 사용하여 연속된 정수들의 합이 target 값을 초과하는 지점을 찾습니다.
함수 구현
-
스택 초기화 및 합계 변수 설정:-
stack: 연속된 정수들을 저장할 스택입니다. -
total: 스택에 있는 정수들의 현재 합계입니다.
-
-
정수 리스트 순회:-
주어진
numbers리스트의 각 정수를 순회하면서:-
정수를 스택에 추가합니다.
-
합계 변수에 현재 정수를 더합니다.
-
합계가
target을 초과하는 순간 반복을 중단합니다.
-
-
-
결과 반환:- 스택에 저장된 정수 리스트를 반환합니다. 이 리스트는
target값을 초과하는 최소 길이의 연속된 정수들을 포함합니다.
- 스택에 저장된 정수 리스트를 반환합니다. 이 리스트는
모범 답안
def solution(target, numbers): stack = [] # 스택 초기화 total = 0 # 합계 변수 초기화 for num in numbers: # 리스트 순회 stack.append(num) # 스택에 정수 추가 total += num # 합계 업데이트 if total > target: # 합계가 목표값을 초과하면 반복 중단 break return stack # 스택 반환
사용 예시
입출력 예시
print(solution(15, [1, 2, 3, 5, 7, 8])) # 출력: [1, 2, 3, 5, 7]
이 챕터의 강의 · 자주 등장하는 코딩 퀴즈 유형 연습하기
- 1. 코딩 퀴즈 - 썩은 사과 찾기
- 2. 썩은 사과 찾기 해설
- 3. 코딩 퀴즈 - 재귀적으로 리스트의 합 구하기
- 4. 재귀적으로 리스트의 합 구하기 해설
- 5. 코딩 퀴즈 - 1, 2, 3 더하기
- 6. 1, 2, 3 더하기 해설
- 7. 코딩 퀴즈 - 일차원 배열로 변환하기
- 8. 일차원 배열로 변환하기 해설
- 9. 코딩 퀴즈 - 분할 정복으로 리스트의 합 구하기
- 10. 분할 정복으로 리스트의 합 구하기 해설
- 11. 코딩 퀴즈 - 체육복 문제
- 12. 체육복 문제 해설
- 13. 코딩 퀴즈 - 목표값보다 큰 합을 가진 정수 리스트
- 14. 목표값보다 큰 합을 가진 정수 리스트 해설
- 15. 코딩 퀴즈 - 여행 경로 찾기
- 16. 여행 경로 찾기 해설
학습 자료
AI 튜터
디자인
업로드
수업 노트
즐겨찾기
도움말