1. 정수 N개의 합
15596번: 정수 N개의 합 (acmicpc.net)
15596번: 정수 N개의 합
C++17, Java 8, Python 3, C11, PyPy3, C99, C++98, C++11, C++14, Python 2, PyPy2, Go, C99 (Clang), C++98 (Clang), C++11 (Clang), C++14 (Clang), C11 (Clang), C++17 (Clang)
www.acmicpc.net

#정수 N개의 합
def solve(a):
ans = 0
for i in range(len(a)):
ans += a[i]
return ans
뭔가를 출력하는 문제가 아니라 단순히 함수를 구현해봐라~~하는 문제였다.
다른 문제들을 풀 때 함수를 직접 구현해서 풀어본 문제는 한 번밖에 없었는데(피드에는 안올림),
함수에 대해 간단히 살펴볼 수 있었던 문제였다.
for문에서 다른 방법은,
for i in a:
ans += i 로 할 수 있거나
더 간략하게는 아래처럼
#정수 N개의 합
def solve(a):
return sum(a)
파이썬 내부에 sum이라는 함수가 있어서 이렇게도 가능하다.
2. 셀프 넘버
www.acmicpc.net/problem/4673
4673번: 셀프 넘버
셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때,
www.acmicpc.net

#셀프 넘버
def d(n):
sum = n
num = list(str(n)) #만약 n이 13이면 ['1', '3']의 형태가 됨
for i in num:
sum += int(i)
return sum
a = []
for i in range(10000):
a.append(d(i+1))
for i in range(1, 10001):
if i not in a:
print(i)
반응형