![[python] 백준 1934번 최소공배수](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgPXXU%2FbtrviHJGwUO%2FQsX7QKxkpFiN5gHn3nDDGK%2Fimg.jpg)
문제 풀이 python의 내장 라이브러리 중 math 라이브러리에는 최대공약수를 구할 수 있는 함수들이 들어있다. from math import gcd 위와 같이 한 줄이면 최대공약수를 구할 수 있는 함수를 불러와 쓸 수 있다. 최대공약수와 최소공배수는 밀접한 관계를 갖고 있다. 최대공약수를 구하면 최소공배수는 덤으로 구할 수 있다. 입력으로 들어온 두 수의 곱에서 두 수의 최대공약수로 나누면 그게 최소공배수이다. 완성된 코드!!👍😊 from math import gcd def lcm(x, y): return x * y // gcd(x, y) t = int(input()) for _ in range(t): A, B = map(int, input().split()) print(lcm(A, B))
![[python] 백준 1037번 약수](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbsIHIW%2FbtrneuEzrfW%2FSqSWKSnfKR7BHmwReXDTak%2Fimg.jpg)
문제 풀이 보자마자 그림을 한번 그려봤다. 검은색 : 테스트 케이스의 입, 출력 빨간색 : 테스트 케이스 출력에서의 1과 자기 자신 파란색 : 찾아낸 규칙 처음에 짜 본 코드다. sorted 내장 함수로 입력받은 수들을 정렬하였다. 또한 N의 약수의 개수가 홀수일 때, 짝수일 때를 판별하여 N을 구하도록 했다. ex) 홀수일 경우, N의 약수의 개수 = 1, input = 5, out = 25 25의 약수는 1을 제외한 5 뿐이기 때문에 제곱하여 반환시켜주면 25가 나온다. ex) 짝수일 경우, 입력받은 약수들이 list형태로 있기 때문에 최솟값 * 최댓값을 하면 N이 나오게 된다. N = int(input()) l = sorted(map(int, input().split())) if N % 2 == 1..
![[python] 백준 4948번 베르트랑 공준](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbaXy7n%2FbtrdEjUIMWB%2FSMJYBWGWhOwsyQaEPQSZ2K%2Fimg.jpg)
해당 문제는 1929번의 소수 구하기 문제와 유사하므로 풀이 과정은 생략하겠다. [python] 백준 1929번 소수 구하기 문제 요약 및 풀이 M이상 N이하의 소수를 모두 출력 이 문제 같은 경우 1부터 ~ 1,000,000까지 소수인지 아닌지 일일이 검사한다면 시간 초과가 걸리게 될 것이다. 그렇기에 에라토스테네스의 체라 begin-dev-awos.tistory.com 코드!!👌👌 n = 123456*2 # 0, 1 = False, 소수는 2부터 시작이므로 True 로 설정 a = [False, False] + [True] * (n - 1) primes = [] for i in range(2, n + 1): if a[i]: primes.append(i) for j in range(2 * i, n + ..
![[python] 백준 1929번 소수 구하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvEln1%2FbtrdHldflRb%2F0zMZR2drUmpeNlTZuFLNwk%2Fimg.jpg)
문제 요약 및 풀이 M이상 N이하의 소수를 모두 출력 이 문제 같은 경우 1부터 ~ 1,000,000까지 소수인지 아닌지 일일이 검사한다면 시간 초과가 걸리게 될 것이다. 그렇기에 에라토스테네스의 체라는 알고리즘을 쓸 예정이다. 밑의 gif 파일을 보자. 이 gif 파일을 보면 2부터 120사이의 소수를 구하는데 2의 배수, 3의 배수... N의 배수를 검사하는 것을 볼 수 있다. 해당 배수들을 제거하게 되면 소수를 찾을 수 있다. '에라토스테네스의 체'의 시간복잡도는 O(Nlog(logN))이다. 일단 M과 N의 제한은 (1 ≤ M ≤ N ≤ 1,000,000) 이기 때문에 1부터 1,000,000까지의 소수를 미리 구해놓고 M과 N사이의 소수를 반환시켜줄 것이다. N의 배수를 제거해야 되기 때문에 b..