나의 답(유클리드 호제법) :
def solution(n, m):
answer = []
r=0
nn=0
nm=0
if n<m: n,m = m,n
#n이 큰 수
r=n%m
if r==0:
answer.append(m)
else:
nn=m
nm=r
while r!=0:
r=nn%nm
if r==0:
answer.append(nm)
else:
nn=nm
nm=r
answer.append(int(n*m/answer[0]))
return answer
다른 사람의 답(더 간단한 풀이) :
def gcdlcm(a, b):
c, d = max(a, b), min(a, b)
t = 1
while t > 0:
t = c % d
c, d = d, t
answer = [c, int(a*b/c)]
return answer
나의 답 :
def solution(num):
count = 0
if num==1:
return 0
while True:
count += 1
if count>500:
return -1
if num%2==0:
num/=2
else:
num = (num*3)+1
if num == 1:
return count
나의 답 :
def solution(phone_number):
a=phone_number[-4:]
b=len(phone_number)-4
return ("*"*b)+a
'공부 > 코딩테스트' 카테고리의 다른 글
[프로그래머스] 행렬의 덧셈, x만큼 간격이 있는 n개의 숫자 (0) | 2021.01.10 |
---|---|
[프로그래머스] 평균 구하기, 하샤드 수 (0) | 2021.01.08 |
[프로그래머스] 2020카카오 인턴십-키패드 누르기 (0) | 2021.01.07 |
[프로그래머스] 제일 작은 수 제거하기, 정수 제곱근 판별 (0) | 2021.01.06 |
[프로그래머스] 자연수 뒤집어 배열로 만들기, 정수 내림차순으로 배치하기 (0) | 2021.01.05 |