반응형
진수 변환
기본
# 10진수에서 2진수, 8진수, 16진수
b = bin(num)
o = oct(num)
h = hex(num)
# 2, 8, 16진수에서 10진수로
b = int("0b11100", 2)
o = int("0o74", 8)
h = int("0x3c", 16)
# format
b = format(num, "#b")
o = format(num, "#o")
h = format(num, "#x")
# #을 제거하면 접두어가 빠진 결과로 나옴
bb = format(num, "b")
oo = format(num, "o")
hh = format(num, "x")
변환 알고리즘
def convert1(number, base):
answer = ''
while number:
modNum = number % base
answer = str(modNum) + answer
number //= base
return answer
print(convert1(9, 3))
NOTATION = "0123456789ABCDEF"
def convert2(number, base):
q, r = divmod(number, base)
n = NOTATION[r]
return convert2(q, base) + n if q else n
거듭제곱
기본
num = 2
# 2의 10승
print(num ** 10)
pow
# 2의 10승
print(pow(2, 10))
소수 판별
기본
def prime_check(num):
for i in range(2, num):
if num % i == 0:
return False
if i * i > num:
break
return True
에라토스테네스의 체
def primeNumber(num):
arr, primes = [0] * (num + 1), []
for i in range(2, num):
if arr[i] == 0:
primes.append(i)
for j in range(i ** 2, num, i):
arr[j] = 1
return primes
반응형
'Study > Tech Interview' 카테고리의 다른 글
| Java 면접 (0) | 2021.05.28 |
|---|---|
| Data Structure 면접 (0) | 2021.05.24 |
| Algorithm - DFS, BFS, 다익스트라, 이진 탐색 (0) | 2021.05.22 |
| Database 면접 (0) | 2021.05.22 |
| Algorithm - Two Pointer, 순열과 조합, 최소 공배수와 최대 공약수 (0) | 2021.05.21 |
댓글