250x250
Link
λ‚˜μ˜ GitHub Contribution κ·Έλž˜ν”„
Loading data ...
Notice
Recent Posts
Recent Comments
관리 메뉴

Data Science LAB

[Python] ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ μ½”λ”©ν…ŒμŠ€νŠΈ μ—°μŠ΅ level2 (μ—°μ†λΆ€λΆ„μˆ˜μ—΄ν•©μ˜ 개수) λ³Έλ¬Έ

πŸ“ Coding Test/Programmers

[Python] ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ μ½”λ”©ν…ŒμŠ€νŠΈ μ—°μŠ΅ level2 (μ—°μ†λΆ€λΆ„μˆ˜μ—΄ν•©μ˜ 개수)

γ…… γ…œ γ…” γ…‡ 2022. 12. 12. 12:33
728x90

1. 문제 μ„€λͺ…

μ² ν˜ΈλŠ” μˆ˜μ—΄μ„ κ°€μ§€κ³  λ†€κΈ° μ’‹μ•„ν•©λ‹ˆλ‹€. μ–΄λŠ λ‚  μ² ν˜ΈλŠ” μ–΄λ–€ μžμ—°μˆ˜λ‘œ μ΄λ£¨μ–΄μ§„ μ›ν˜• μˆ˜μ—΄μ˜ μ—°μ†ν•˜λŠ” λΆ€λΆ„ μˆ˜μ—΄μ˜ ν•©μœΌλ‘œ λ§Œλ“€ μˆ˜ μžˆλŠ” μˆ˜κ°€ λͺ¨λ‘ λͺ‡ κ°€μ§€μΈμ§€ μ•Œμ•„보고 μ‹Άμ–΄μ‘ŒμŠ΅λ‹ˆλ‹€. μ›ν˜• μˆ˜μ—΄μ΄λž€ μΌλ°˜μ μΈ μˆ˜μ—΄μ—μ„œ μ²˜μŒκ³Ό λμ΄ μ—°κ²°λœ ν˜•νƒœμ˜ μˆ˜μ—΄μ„ λ§ν•©λ‹ˆλ‹€. μ˜ˆλ₯Ό λ“€μ–΄ μˆ˜μ—΄ [7, 9, 1, 1, 4] λ‘œ μ›ν˜• μˆ˜μ—΄μ„ λ§Œλ“€λ©΄ λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

 

μ›ν˜• μˆ˜μ—΄μ€ μ²˜μŒκ³Ό λμ΄ μ—°κ²°λ˜μ–΄ λŠκΈ°λŠ” λΆ€λΆ„이 μ—†κΈ° λ•Œλ¬Έμ— μ—°μ†ν•˜λŠ” λΆ€λΆ„ μˆ˜μ—΄λ„ μΌλ°˜μ μΈ μˆ˜μ—΄λ³΄λ‹€ λ§Žμ•„μ§‘λ‹ˆλ‹€.
μ›ν˜• μˆ˜μ—΄μ˜ λͺ¨λ“  μ›μ†Œ elementsκ°€ μˆœμ„œλŒ€λ‘œ μ£Όμ–΄μ§ˆ λ•Œ, μ›ν˜• μˆ˜μ—΄μ˜ μ—°μ† λΆ€λΆ„ μˆ˜μ—΄ ν•©μœΌλ‘œ λ§Œλ“€ μˆ˜ μžˆλŠ” μˆ˜μ˜ κ°œμˆ˜λ₯Ό return ν•˜λ„둝 solution ν•¨μˆ˜λ₯Ό μ™„μ„±ν•΄μ£Όμ„Έμš”.

 

 

 

 

 

 

2. μ œν•œ 사항

  • 3 ≤ elements의 길이 ≤ 1,000
  • 1 ≤ elements의 μ›μ†Œ ≤ 1,000

 

 

 

 

 

 

3. λ‚΄ 풀이

def solution(elements):
    answer = []
    for i in range(1,len(elements)+1):
        for j in range(len(elements)):
            new_ele = elements + elements[:i-1]
            answer.append(sum(new_ele[j:j+i]))
    return len(set(answer))

 

answer을 리슀트 λŒ€μ‹  set으둜 선언해도 될거 κ°™μŒ

 

 

 

 

4. λ‹€λ₯Έ μ‚¬λžŒ 풀이

from collections import deque
def solution(elements):
    answer = set({})
    elements = deque(elements)
    for j in range(len(elements)):
        k = elements.popleft()
        elements.append(k)
        for i in range(1,len(elements)):
            answer.add(sum(list(elements)[:i]))
    answer.add(sum(elements))
    return len(answer)
728x90
Comments