Hits

안녕하세요. 모카의 머신러닝 입니다. 이번 포스팅에서는 백준 알고리즘 문제 풀이에 대해 포스팅하도록 하겠습니다.


코드는 이곳을 참고했음을 밝힙니다.


1. Number theory

백준 1934번

https://www.acmicpc.net/problem/1934

def gcd(a, b):
    if b == 0:
        return a
    else:
        return gcd(b, a%b)

t = int(input())

for i in range(t):
    a, b = map(int, input().split())
    result = a*b / gcd(a, b)
    print(int(result))


백준 1850번

https://www.acmicpc.net/problem/1850

def gcd(a, b):
    if b == 0:
        return a
    else:
        return gcd(b, a%b)

a, b = map(int, input().split())
result = gcd(a, b)

while result > 0:
    print(1, end='')
    result -= 1


백준 1033번

https://www.acmicpc.net/problem/1033

N = int(input())
A = [[] for _ in range(N)]
visited = [False] * (N)
D = [0]*(N)
lcm = 1

def gcd(a, b):
    if b==0:
        return a
    else:
        return gcd(b, a%b)

def DFS(v):
    visited[v] = True
    for i in A[v]:
        next = i[0]
        if not visited[next]:
            D[next] = D[v]*i[2]//i[1]
            DFS(next)
        
for i in range(N-1):
    a, b, p, q = map(int, input().split())
    A[a].append((b,p,q))
    A[b].append((a,q,p))
    lcm *= (p*q//gcd(p, q))
    
D[0] = lcm
DFS(0)
mgcd = D[0]

for i in range(1, N):
    mgcd = gcd(mgcd, D[i])

for i in range(N):
    print(int(D[i]//mgcd), end=' ')


지금까지 백준 알고리즘 정수론 2 부분이었습니다.

읽어주셔서 감사합니다. 😃