λͺ©νκ°λ³΄λ€ ν° ν©μ κ°μ§ μ μ 리μ€νΈ ν΄μ€
λͺ©νκ°(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]
Guidelines
AI Tutor
Publish
Design
Upload
Notes
Favorites
Help