def solution(num):
answer = 0
while num != 1:
if answer >= 500:
return -1
if num % 2 == 0:
num /= 2
else:
num = num * 3 + 1
answer += 1
return answer
def maXX(n, m):
if n < m:
n, m = m, n
if m == 0:
return n
return maXX(m, n%m)
def solution(n, m):
maXX = maX(n, m)
return [maXX, n * m / maXX]
최대공약수(greatest common factor)는 유클리드 호제법을 이용해서 구했고, 최소공배수(Least Common Multiple)는 아래의 식을 사용해서 구했다! 영어 이름 맨날 잊어버리니까 주의...
def solution(num):
return "Odd" if num % 2 == 1 else "Even"
def solution(arr):
arr.remove(min(arr))
return [-1] if len(arr) == 0 else arr
이상하게 remove 랑 min 은 알면서도 생각이 잘 안나는데, 문제가 간결하니까 생각해서 풀 수 있었다. 앞으로도 잘 생각해야하는데...!
import math
def solution(n):
square = math.sqrt(n)
if square == int(square):
return math.pow(square + 1, 2)
return -1
def solution(n):
answer = []
for c in str(n):
answer.append(int(c))
return answer[::-1]
def solution(n):
answer = []
while n > 0:
answer.append(n%10)
n = int(n/10)
return answer
def solution(n):
arr = sorted([int(c) for c in list(str(int(n)))], key=lambda x: -x)
return int(''.join([str(i) for i in arr]))
테스트 케이스 2, 3, 11 에서 에러가 났는데... 쉬운 문제라 에러가 날리가 없어서 검색해보니, 처음 입력에 int(n)
처리를 해줘야한다고 했다. 입력값은 정수라며... 정수라며!!!!!