전체 글
-
-
-
-
-
2920 - 음계알고리즘 2024. 1. 10. 01:45
문제 풀이 ascending 1. sorted() 함수를 사용해서 배열을 오름차순으로 정리한다 2. 오름차순을 했을 때, 사용자의 입력 값과 맞다면 "ascending" descending 1. sorted() 함수를 사용해서 배열을 오름차순으로 정리하고, reverse로 역순으로 배치한다. 2. 사용자의 입력 값과 같다면 "descending" user_input = list(map(int, input().split())) if user_input == sorted(user_input): print("ascending") elif user_input == sorted(user_input, reverse=True): print("descending") else: print("mixed")
-
-
2609 - 최대공약수와 최소공배수알고리즘 2023. 3. 29. 15:50
최대공약수 GCD(Greatest Common Divisor) 최대공약수는 두 자연수의 공통된 약수 중 가장 큰 수를 의미한다. ex) 72 와 30의 최대공약수는 6이다. 최소공배수 LCM(Least Common Multiple) 최소공배수는 두 자연수의 공통된 배수 중 가장 작은 수를 의미한다. 최소공배수 = 두 자연수의 곱 / 최대공약수 ex) 72 와 30의 최소공배수는 360이다. 유클리드 호제법(Euclidean Algorithm) 2개의 자연수를 받아 최대공약수를 받기 위해 2부터 두 자연수 중 작은 자연수까지 모두 나누어보면서 가장 큰 공약수를 구할 수 있다. 위와 같은 방법으로 문제를 풀면 시간복잡도는 O(N)이 된다. 나쁜 방법은 아니지만 효율을 높이기 위해 유클리드 호제법이란 알고리즘..
-