greenhelix
greenhelix
greenhelix
07-12 22:56
  • All (229)
    • Algorithm (118)
      • Algorithm (17)
      • Graph (0)
      • Core (6)
      • Python (18)
      • PythonSnippet (4)
      • Java (59)
      • Kotlin (14)
    • Project (0)
    • Study (8)
      • License (5)
      • EIP (3)
    • Programming (63)
      • Android (41)
      • Flutter (1)
      • Bugs Life (21)
      • Linux (0)
    • Tech (32)
      • Tech (17)
      • Drone (4)
      • Hacking (11)
    • Life (6)
      • INGRESS (1)
      • 심시티빌드잇 (0)
250x250

티스토리

hELLO · Designed By 정상우.
greenhelix

greenhelix

#05_Code Signal Arcade Python :: Count Bits
Algorithm/Python

#05_Code Signal Arcade Python :: Count Bits

2020. 6. 11. 18:28

코드시그널 아케이드 파이썬 05 번 풀이

인트로의 지옥을 벗어났구요.. 그래프를 풀려면, 자바같은 개가튼 언어는 별로 더라구요.
자 파이썬을 시작해보겠습니다. 조금 배워보니 왜 파이썬 파이썬 하는지 알겠더군요.
약간 자바보다는 안정감이 떨어지지만(?) 개인적으로
유연하고 간편하다? 라는 느낌을 받았습니다. 자 시작해볼까요!!

문제 해설

이 문제는 입력되는 숫자를 2진법으로 변환했을때, 그 변환된 이진 수의 길이를 리턴하라는 문제입니다.

해결

def countBits(n):
    return n.bit_length()

간편하게 bit_length() 함수를 사용하여 리턴하면 됩니다.

bin(), oct(), hex() 이러한 2진수 8진수 16진수 등으로 변환시켜주는 함수가 존재합니다.
사용법

number = 50
print(bin(number))
print(oct(number))
print(hex(number))
#0b110010
#0o62
#0x32

_이런식으로 출력이 됩니다. 하지만 0b, 0o, 0x 이러한 표시가 오히려 거슬리거나, 필요하지 않을때도 있습니다.
그러한 경우 format() 함수를 사용하는 것이 좋습니다.
먼저 기본적인 사용법

number = 50
print(format(number,'#b'))
print(format(number,'#o'))
print(format(number,'#x'))
#0b110010
#0o62
#0x32

앞 쪽 접두어를 제거하는 방법 *_'#' *_을 제거하면 됩니다.

number = 50
print(format(number,'b'))
print(format(number,'o'))
print(format(number,'x'))
#110010
#62
#32

이제 Bit_length() 함수에 대해 알아보겠습니다.

자세한 설명은 이 사이트로 가면 됩니다.
bit_length()함수는 bit() 함수를 해준 뒤, lstrip('0b')을 통해 접두어를 제거하고 len()함수로 길이를 측정해주는 함수 입니다.
잘 기억해두고 나중에 다른식으로 활용해보면 좋겠네요.

 

 

공감♥ 부탁드립니다.

728x90
반응형
저작자표시 비영리 변경금지 (새창열림)

'Algorithm > Python' 카테고리의 다른 글

#06_Code Signal Arcade Python :: Modulus  (0) 2020.06.15
#04_Code Signal Arcade Python :: Language Differences  (0) 2020.06.04
#03_Code Signal Arcade Python :: Special Conditional  (0) 2020.05.29
    'Algorithm/Python' 카테고리의 다른 글
    • #07_Code Signal Arcade Python :: Simple Sort
    • #06_Code Signal Arcade Python :: Modulus
    • #04_Code Signal Arcade Python :: Language Differences
    • #03_Code Signal Arcade Python :: Special Conditional
    greenhelix
    greenhelix
    개발에 관한 것들과 개인적인 것을 담는 블로그

    티스토리툴바