sum 56

두 정수 사이의 합, 접근 방법에도 순서가 있어야 한다.

문제 설명 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 사항 a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요. a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다. a와 b의 대소관계는 정해져있지 않습니다. 해결 방법 1. a와 b의 대소관계를 확인하여 새로 할당한다. 2. a와 b의 사이 수들을 구한다. 3. 수들을 모두 합한다. def solution(a, b): num_list = [a, b] a, b = num_list[a >= b], num_list[a < b] answer = sum(range(a..

약수의 합

문제 설명 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. (12의 약수는 1, 2, 3, 4, 6, 12입니다. 이를 모두 더하면 28입니다.) 제한 사항 n은 0 이상 3000이하인 정수입니다. 해결 방법 1. n의 절반에 해당되는 수 만큼 반복을 돌린다. 2. n과 나누어 떨어지는 수들을 합한다. 3. 마지막으로 n을 합한다. (n의 절반을 나눠 반복하였으므로 약수 중에 하나인 n을 추가로 더해주어야 함) def solution(n): answer = sum([i for i in range(1, n // 2 + 1) if n % i == 0]) + n return answer 출처: 프로그래머스 코딩 테스트 연습, https://programmers...

자릿수 더하기

문제 설명 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한 사항 N의 범위 : 100,000,000 이하의 자연수 해결 방법 1. n을 이터러블한 문자열로 바꾼다. 2. 반복문을 통해 문자열을 리스트로 바꾼다. 3. 리스트의 요소들을 정수로 바꾼다. 4. 리스트의 요소들을 더해 합을 구한다. def solution(n): answer = sum([int(i) for i in str(n)]) return answer

평균 구하기

문제 설명 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. 제한사항 arr은 길이 1 이상, 100 이하인 배열입니다. arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. 해결 방법 1. 리스트의 각 요소들의 합계를 구한다 2. 리스트의 요소 수를 구한다 3. 합계와 요소 수를 나눈다 *sum과 for문 등으로 문제를 해결 할 수 있다. # sum의 경우 def solution(arr): return sum(arr)/len(arr) # for의 경우 def solution(arr): a = 0 for i in arr: a += i return a/len(arr)

하샤드 수

문제 설명 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요. 제한 조건 x는 1 이상, 10000 이하인 정수입니다. 입출력 예 설명 입출력 예 #1 10의 모든 자릿수의 합은 1입니다. 10은 1로 나누어 떨어지므로 10은 하샤드 수입니다. 입출력 예 #2 12의 모든 자릿수의 합은 3입니다. 12는 3으로 나누어 떨어지므로 12는 하샤드 수입니다. 입출력 예 #3 11의 모든 자릿수의 합은 2입니다. 11은 2로 나누어 떨어지지 않으므로 11는 하샤드 수가 아닙니다. 입출력 예..