목록전체 글 (214)
NIRVANA
문제 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 문제 풀이 접근법1 def solution(num): answer = '' if num % 2 == 0: answer='Even' else: answer='Odd' return answer 양심상 한문제 더 풀어야지..^~^ 다른 사람들 풀이 def evenOrOdd(num): #함수를 완성하세요 if num%2: return "Odd" return "Even" print("결과 : " + evenOrOdd(3)) print("결과 : " + evenOrOdd(2)) 너무 깔끔해서 놀랐다. return 값에 바로 문자열이 들어갈 수 있다는 걸 처음 알았다..
문제 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 문제 풀이 접근법1 1) 자연수 n을 입력 받기 2) 자연수 n을 int → str로 형변환 3) str로 바뀐 n을 쪼개어서 리스트로 저장 4) map함수를 사용하여서 리스트의 원소를 str→int로 형변환 5) 반복문으로 리스트의 원소 각각을 덧셈 def solution(n): answer = 0 number = [] for i in str(n): number.append(i) number_int = list(map(int, number)) for i in number_int: answer = answer ..
문제 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 문제 풀이 접근법1 약수는 n으로 나눌 때, 나누어 떨어지는 자연수 x를 의미함으로 다음과 같이 해당 문제를 풀 수 있다. 1) N을 입력 받음 2) 반복문으로 N % i == 0 인 i를 리스트에 저장. 3) 다시 반복문을 통해 리스트의 i를 더한 뒤, sum값을 return def solution(n): divisor = [] answer = 0 for i in range(1, n+1): if n % i == 0: divisor.append(i) for i in range(len(divisor)): answer = answer + divisor[i] return answer 계속 틀렸다고 해서 다시 ..
문제 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. 문제 풀이 접근법 1 처음에는 다음과 같은 알고리즘으로 접근했었다. 1) n 입력 받음 2) for문에서 i를 1씩 증가 → n을 i로 나누었을 때, 나머지가 1인지 확인 3) 만약 나머지가 1이면 해당 i값을 return *i를 1부터 1씩 증가하므로 처음으로 나머지가 1이 나오는 수가 가장 작은 x일 것 하지만 결과 값이 예상대로 나오지 않았다. 원래라면 3*3 = 9이므로 n이 10일 때, 나머지가 1이되게 하는 가장 작은 자연수 x는 3이지만 위의 알고리즘에서는 3*1=3이므로 10을 3으로 나..