[ALGORITHM] BOJ 10829. 이진수 변환

less than 1 minute read


ALGORITHM Übung - 백준

  • 알고리즘 문제 풀이를 통한 코딩 테스트 연습

문제

코드

def binary(n):
  # 2보다 작으면 재귀함수 종료
  if n < 2:
      return str(n)
  # 그렇지 않다면 n을 2로 나눈 수(나머지 없이)에 대해 재귀함수를 다시 호출 + n을 2로 나눴을 때 나머지를 더함
  else:
      return binary(n // 2) + str(n % 2)

if __name__ == "__main__":
    n = int(input())
    print(binary(n))

# 더 좋은 풀이
def binary(n):
    if n == 0:
        return
    else:
        binary(n//2)
        print(n%2, end="")

if __name__ == "__main__":
    n = int(input())
    binary(n)

# 간단한 풀이
if __name__ == "__main__":
    n = int(input())
    print(bin(n)[2:])