Stay Hungry Stay Foolish

TIL

[TIL] 2024년 11월 09일

dev스카이 2024. 11. 10. 16:58

파이썬

이진법 변환 방법

 

1️⃣ bin() 함수 사용

  • bin() 함수는 숫자를 2진법 문자열로 변환하여 반환
n = 5
binary_str = bin(n)  # 결과: '0b101'

 

2️⃣ format() 함수 사용

  • format() 함수의 'b' 포맷 코드를 사용하여 2진법 문자열을 얻을 수 있다.
n = 5
binary_str = format(n, 'b')  # 결과: '101'

 

3️⃣ f-string을 사용한 포맷팅

  • f-string 안에서도 :b를 붙여서 2진법으로 출력할 수 있다.
n = 5
binary_str = f"{n:b}"  # 결과: '101'

 

4️⃣ bin() 함수 + 슬라이싱

  • bin() 함수의 결과에서 접두사 '0b'를 제거하기 위해 슬라이싱을 사용할 수 있다.
n = 5
binary_str = bin(n)[2:]  # 결과: '101'

 

5️⃣ 수동으로 나머지와 몫 계산

  • 반복문을 이용해 나머지와 몫을 계산하면서 수동으로 2진법 문자열을 만들 수 있다.
def to_binary(n):
    binary_str = ''
    while n > 0:
        binary_str = str(n % 2) + binary_str
        n //= 2
    return binary_str

print(to_binary(5))  # 결과: '101'

 

이들 중 bin()과 format()은 가장 간편하고 자주 쓰이는 방법이다.

 

 

remove() 사용 시 주의사항

  • s = "110010101001" -> s.remove("0") 사용 불가
    • AttributeError: 'str' object has no attribute 'remove'
  • answer.remove('0') -> 중복된 요소가 있어도 하나만 제거됨

 

 


📜 작성한 게시글

[Programmers 코딩테스트 L2. 이진 변환 반복하기] 👉 https://dev-cloud.tistory.com/391

 

 


'TIL' 카테고리의 다른 글

[TIL] 2024년 11월 11일  (1) 2024.11.12
[TIL] 2024년 11월 10일  (0) 2024.11.11
[TIL] 2024년 11월 08일  (2) 2024.11.09
[TIL] 2024년 11월 07일  (0) 2024.11.07
[TIL] 2024년 11월 06일  (0) 2024.11.06