문제
자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다.
def solution(n) :
for x in range(n+1) :
n % (x+1) == 1
return x
내가 쓴 코드는 이렇게 해석된다
이 주어진 함수는 자연수 n을 매개변수로 받아와서, n % (x+1) == 1 조건을 만족하는 가장 큰 x 값을 찾아서 반환
def solution(n) :
for x in range(2, n+1):
if n % x == 1 :
return x
range(start, stop, step)
n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수기 때문에 1로 나누는 경우는 나머지가 항상 0이라서 0이 출력된다. 그래서 2부터 시작해야 함
문제
함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.
제한사항
x는 -10000000 이상, 10000000 이하인 정수입니다.
n은 1000 이하인 자연수입니다.
코드를 제대로 짜지 못했다. 해설보고 공부해보자
def solution(n, x):
answer = []
for i in range(n):
answer.append(x + i * x)
return answer
def solution(x, n):
answer = []
for i in range(n):
x = x + (i * x)
answer.append(x)
return answer
두 코드의 중요한 차이는 계산된 값이 리스트에 추가 되기 전에 x가 갱신되느냐, 아니면 계산한 x값을 추가한 후에 x값이 갱신되느냐에 대한 차이다