Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Numpy
- 데이터 분석
- 카카오
- seaborn
- pandas
- oracle
- 빅데이터 분석 기사
- 튜닝
- level 2
- 실습
- 실기
- Kaggle
- sklearn
- 알고리즘
- level 1
- Oracel
- 머신러닝
- 오라클
- SQL
- 프로그래머스
- 빅분기
- R
- Python
- 파이썬
- matplotlib
- 코딩테스트
- python3
Archives
- Today
- Total
라일락 꽃이 피는 날
[Level 2] N개의 최소공배수 본문
728x90
[문제]
두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배수는 n 개의 수들의 배수 중 공통이 되는 가장 작은 숫자가 됩니다. n개의 숫자를 담은 배열 arr이 입력되었을 때 이 수들의 최소공배수를 반환하는 함수, solution을 완성해 주세요.
[제한사항]
- arr은 길이 1이상, 15이하인 배열입니다.
- arr의 원소는 100 이하인 자연수입니다.
[코드]
def solution(arr):
lcm = arr[0]
for i in range(len(arr)):
div = []
for j in range(1, lcm+1):
if lcm % j == 0:
div.append(j)
for j in range(1, arr[i]+1):
if arr[i] % j == 0:
if j in div:
com_div = j
lcm = int(lcm * arr[i] / com_div)
return lcm
[풀이 코드] - gcd 함수 사용
from fractions import gcd
def nlcm(num):
answer = num[0]
for n in num:
answer = n * answer / gcd(n, answer)
return answer
728x90
'코딩테스트 > Python' 카테고리의 다른 글
[Level 2] 행렬의 곱셈 (0) | 2021.10.07 |
---|---|
[Level 2] JadenCase 문자열 만들기 (0) | 2021.10.07 |
[2021 Dev-Matching] 로또의 최고 순위와 최저 순위 (0) | 2021.10.06 |
[2021 KAKAO BLIND RECRUITMENT] 신규 아이디 추천 (0) | 2021.10.06 |
[2019 카카오 개발자 겨울 인턴십] 크레인 인형뽑기 게임 (0) | 2021.10.04 |