math 라이브러리는 각종 수학식을 제공해준다.
코딩테스트 준비를 하면서 필요한 각종 수학식과 보다 향상된 실력을 위해 math 라이브러리를 정리한다.
또한, numpy 라이브러리도 각종 list등의 계산을 보다 쉽게 해결해준다. 자주 쓰이는 numpy 및 코테에 필요한 함수를 정리한다.
import math
a = 4.3
b = 4.6
print (math.ceil(a)) # 5
print (math.ceil(b)) # 5
import math
a = 4.3
b = 4.6
print (math.floor(a)) # 4
print (math.floor(b)) # 4
a = 4.3
b = 4.6
print (round(a)) # 4
print (round(b)) # 5
[math.inf]
import math
# 양의 무한대 표현
p_inf = math.inf
# 음의 무한대 표현
n_inf = -math.inf
import math
a = 3
print (math.pow(a,2)) # a의 2제곱 = 9
b = 3
print (math.pow(b,3)) # b의 3제곱 = 27
import math
c = 9
print (math.sqrt(c)) # 9의 제곱근 = 3
import numpy as np
num_list = [1,2,3,4,5,6,7,8,9,10]
np.average(num_list)
# 5.5
num = 10.00
if float(num).is_integer():
print ("정수입니다")
else:
print ("정수가 아닙니다.")
# 정수입니다.
num = 10.12345
if float(num).is_integer():
print ("정수입니다")
else:
print ("정수가 아닙니다.")
# 정수가 아닙니다.
# divmod
div,mod = divmod(10,3)
print (div,mod)
# bin (2진수로 변경하기)
# 15 -> 1111
print (bin(15))
# 0b1111
# oct (8진수로 변경하기)
# 15 -> 0o17
print(oct(15))
# 0o17
# hex (16진수로 변경하기)
# 15 -> 0xf
print(hex(15))
# 0xf
## 10진수를 n진수로 변경하기
def solution(num, n):
rev_base = ''
while num > 0:
num, mod = divmod(num, n)
rev_base += str(mod)
return rev_base[::-1]
# 역순인 진수를 뒤집어 줘야 원래 변환 하고자하는 base가 출력
print(solution(45, 3))
# str (10진수로 변경하기)
# 1111 -> 15
print (str(0b1111))
# int (n진수일때 10진수로 변경법)
print(int('222', 3))
# AND, OR, XOR, NOT 연산하기
# AND (&)
print (bin(4 & 6))
# OR (|)
print (bin(4 | 6))
# XOR (^)
print (bin(4 ^ 6))
# NOT (~)
print (bin(~4))
# 특정 숫자 x가 소수인지 판별하는 가장 기본적인 알고리즘
def primenumber(x):
for i in range(2, x): # 2부터 x-1까지의 모든 숫자
if x % i == 0: # 나눠떨어지는게 하나라도 있으면 False
return False
return True # 전부 나눠떨어지지 않으면 True
import math
# 소수 판별 - 2부터 x의 제곱근까지의 숫자
def primenumber(x):
for i in range(2,int(math.sqrt(x)+1)):
# 나눠떨어지는 숫자가 있으면 소수가 아님 - False 리턴
if x % i == 0:
return False
# 전부 나눠떨어지지 않는다면 소수임 - True 리턴
return True