Skip to content

Commit 064d9ab

Browse files
zaqquumMingguriguri
authored andcommitted
[PGS]#12953. N개의 최소공배수/lv2/1h(힌트)
https://school.programmers.co.kr/learn/courses/30/lessons/12953
1 parent 94aec9f commit 064d9ab

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
"""
2+
링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12953
3+
4+
n개의 숫자들의 최소 공배수
5+
Inspect :n 개의 숫자들이 모두 "1" 이 될 때 까지 2~100의 자연수들의 값으로 나누기
6+
ex)
7+
[2,6,8,14]
8+
e = 2 : [1,3,4,7] => elements = [2]
9+
e = 3 : [1.1.4.7] => elements = [2,3]
10+
e = 4 : [1,1,1,7] => elements = [2,3,4]
11+
e = 5 : [1,1,1,7] => 유지
12+
e = 6 ...
13+
14+
"""
15+
def solution(arr) :
16+
answer = 1
17+
elements = []
18+
19+
e = 2
20+
# 1.
21+
while e<=100 or arr.count(1) != len(arr) :
22+
23+
flag = False
24+
#2. 해당 e 로 배열 arr 가 나누어 떨어지는 지 확인 -> 떨어지면 flag = True , 해당 arr[k] 은 e의 몫으로 구성함
25+
for k in range(len(arr)) :
26+
if arr[k] == 1 :
27+
continue
28+
if arr[k] % e == 0 :
29+
arr[k] =arr[k] // e
30+
flag = True
31+
#3. 해당 e 값이 배열 arr 의 값 중 하나 이상의 구성 요소일때 , 최소공배수 구성워소 elements 배열에 추가
32+
if flag :
33+
elements.append(e)
34+
else : # 해당 값이 구성 원소 아닐 경우 -> 다음 e 로 다시 도전하기
35+
e+= 1
36+
37+
38+
for e in elements :
39+
answer*= e
40+
return answer

0 commit comments

Comments
 (0)