자주 쓰는 함수들

박형진·2022년 4월 11일
0

10진수 -> n진수

# 10진수 ->2~36 진수 변환
def convertNtoBase(n, base):
    result = ''
    char = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    while n != 0:
        q, r = divmod(n, base)
        result += char[r]
        n = q
    return result[::-1]

def convertNtoBase2(n, base):
    char = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    q, r = divmod(n, base)
    if q == 0:
        return char[r]
    else:
        return convertNtoBase(q, base) + char[r]
    
# 10진수 -> '?'진수
print(format(48, 'b'))  # 110000
print(format(48, 'o'))  # 60
print(format(48, 'x'))  # 30

# 10진수 -> 2진수
print(bin(48))  # 0b110000

# n진수 -> 10진수
int(문자열, 문자열의 진법)

소수판별

def isPrime(m):
    if m == 1 or m == 0:
        return False
    for i in range(2, int(math.sqrt(m)) + 1):
        if m % i == 0:
            return False
    return True

2차원 배열 90도 회전

def rotate_90_degree(a):
    n = len(a)
    m = len(a[0])
    result = [[0]*n for _ in range(m)]
    for i in range(n):
        for j in range(m):
            result[j][n-1-i] = a[i][j]
    return result
profile
안녕하세요!

0개의 댓글