코드카타 레벨 1
def solution(x):
return x % sum([int(c) for c in str(x)]) == 0
def solution(x):
arr = list(str(x))
sum = 0
for i in range(len(arr)):
sum += int(arr[i])
if x % sum == 0:
answer = True
else:
answer = False
return answer
22.두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요.
예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다.
def solution(a, b):
answer = 0
if a > b :
answer = sum(i for i in range(b, a+1))
else :
answer = sum(i for i in range(a, b+1))
return answer
def solution(a, b):
answer = 0
if a > b :
answer = sum(range(b, a+1))
else :
answer = sum(range(a, b+1))
return answer
1-1. 입력된 수가 짝수라면 2로 나눕니다.
1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다.
2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다.
예를 들어, 주어진 수가 6이라면 6 → 3 → 10 → 5 → 16 → 8 → 4 → 2 → 1 이 되어 총 8번 만에 1이 됩니다. 위 작업을 몇 번이나 반복해야 하는지 반환하는 함수, solution을 완성해 주세요. 단, 주어진 수가 1인 경우에는 0을, 작업을 500번 반복할 때까지 1이 되지 않는다면 –1을 반환해 주세요.
def solution(num):
answer = 0
while num > 0:
if num % 2 == 0:
num /= 2
else:
num = (num * 3)+1
answer += 1
if answer == 500:
return -1
if(num == 1) : break
return answer
def solution(seoul):
answer = ''
answer = f"김서방은 {seoul.index('Kim')}에 있다"
return answer
def solution(arr, divisor):
answer = []
for num in arr:
if num % divisor == 0:
answer.append(num)
if len(answer) == 0:
answer = [-1]
return list(sorted(answer))
def solution(absolutes, signs):
for i in range(len(absolutes)):
if signs[i] == False:
absolutes[i] = -absolutes[i]
else:
pass
return sum(absolutes)
def solution(phone_number):
num_list = list(phone_number)
for i in range(len(num_list)-4):
num_list[i] = '*'
return "".join(num_list)
def solution(numbers):
answer = 0
for i in range(10):
if i not in numbers:
answer += i
return answer
def solution(arr):
if len(arr) > 1:
arr.remove(min(arr))
else:
return [-1]
return arr
def solution(s):
answer = ""
if len(s) % 2 == 1:
return s[len(s)//2]
else:
return s[(len(s)//2)-1 : (len(s)//2)+1]
return answer
인사이트
기본적인 구조에 대해서는 조금 이해가 가지만, 적용을 해서 코드를 직접 만드는것은 아직 어려움이 느껴진다.
특히, 수학적으로 쿼리를 짤때 시간이 오래걸린다.