λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
Algorithm/μ½”λ“œμ—…(Code up)

[ python ] μ½”λ“œμ—… 1920 - 2μ§„μˆ˜ λ³€ν™˜

by YWTechIT 2021. 4. 9.
728x90

πŸ“ μ½”λ“œμ—… 1920 - 2μ§„μˆ˜ λ³€ν™˜

μ½”λ“œμ—… 1920 - 2μ§„μˆ˜ λ³€ν™˜


⚑️ λ‚˜μ˜ 풀이

2μ§„μˆ˜λ₯Ό κ΅¬ν˜„ν•˜λŠ” 법을 μ•Œκ³  μžˆμ—ˆλŠ”λ° 막상 μž¬κ·€ν•¨μˆ˜λ‘œ ν’€μ–΄λ³΄λ €κ³ ν•˜λ‹ˆκΉŒ 잘 생각이 λ– μ˜€λ₯΄μ§€ μ•Šμ•˜λ‹€. 핡심 μ½”λ“œλŠ” 이렇닀.

  1. λ‚˜λ¨Έμ§€λ₯Ό 2둜 λ‚˜λˆˆλ‹€.
  2. 좜λ ₯ν•œλ‹€.
  3. λͺ«μ„ 2둜 λ‚˜λˆˆλ‹€.
  4. μ–Έμ œκΉŒμ§€? n이 1보닀 μž‘μ•„μ§ˆλ•ŒκΉŒμ§€

1905번처럼 빈 λ¦¬μŠ€νŠΈμ— μΆ”κ°€ν•΄μ„œ joinν•¨μˆ˜λ₯Ό μ‚¬μš©ν–ˆλŠ”λ°, κ·ΈλŸ΄ν•„μš”κ°€ μ—†μ—ˆλ‹€. 비둝 μ •λ‹΅νŒμ •μ„ λ°›μ•˜μ§€λ§Œ 30λΆ„λ™μ•ˆ μ‚½μ§ˆν•˜κ³  λ‹€λ₯Έμ½”λ“œλ₯Ό λ³΄λ‹ˆκΉŒ ν—ˆλ¬΄(?)ν–ˆλ‹€.

 

λ„ˆλ¬΄ μ–΄λ ΅κ²Œ μƒκ°ν•˜μ§€ 말자!

# 1번 μ–΄λ ΅κ²Œ ν‘Ό 문제
x = 7
result = []

while x != 0:
    result.append(x % 2)
    x //= 2
print(result)

result = []
def binary(n):
    if n == 0:
        return print(0)
    global result
    if n > 1:
        binary(n // 2)
    result.append(n % 2)
binary(int(input()))
print(''.join(map(str,result)))

# 2번 μ‰½κ²Œ ν‘Ό 문제
def binary(n):
    if n > 1:
        binary(n // 2)
    return print(n % 2, end='')

binary(10)
λ°˜μ‘ν˜•

λŒ“κΈ€