# 정수 내림차순으로 배치하기
# 함수 solution은 정수 n을 매개변수로 입력받습니다.
# n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요.
# 예를들어 n이 118372면 873211을 리턴하면 됩니다.
# 내 코드
def solution(n):
return int("".join(sorted(list(str(n)), reverse=True)))
# 하샤드 수
# 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다.
# 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다.
# 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요.
# 내 코드
def solution(x):
num = 0
num_str = list(str(x))
for i in num_str:
num += int(i)
return False if x%num else True
# 다른 사람 코드
def solution(n):
return n%sum(int(x) for x in str(n)) == 0
## 내 코드의 경우 for문을 돌기전에 list로 만들었는데 불필요한 부분이었다.
## sum을 항상 까먹는다.~~붕어도아니고~~
# 두 정수 사이의 합
# 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요.
# 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다.
# 내 코드
def solution(a, b):
answer = 0
if a == b:
return a
elif a < b:
x,y = a,b
else:
x,y = b,a
for i in range(x,y+1):
answer += i
return answer
# 다른 사람 코드 1
def solution(a, b):
if a > b:
a, b = b, a
return sum(range(a, b + 1))
## 내 코드의 경우 모든 경우의 수를 적어 두었는데 range부분에 순서가 바뀌어야하는 경우만 적어도 작동함.
## sumsumsumsumsumsumsumsumsumsumsumsumsumsumsumsumsumsumsumsumsumsumsumsumsumsumsumsumsumsumsumsumsum
# 다른 사람 코드 2
def solution(a, b):
return sum(range(min(a, b), max(a, b)+1))
## min, max 로 range의 범위를 정하는 방법도 있었다
초간단 정리