10월, 2018의 게시물 표시

모두를 위한 알고리즘(예제)

모두를 위한 알고리즘 1부터 n까지 연속한 숫자의 합을 구하는 알고리즘 1 ¶ In [1]: # 입력: n # 출력: 1부터 n까지의 숫자를 더한 값 def sum_n ( n ): s = 0 # 합을 계산할 변수 for i in range ( 1 , n + 1 ): # 1부터 n까지 반복 (n+1은 제외) s = s + i return s print ( sum_n ( 10 )) # 1부터 10까지 합(입력:10, 출력:55) print ( sum_n ( 100 )) # 1부터 100까지 합(입력:100, 출력:5050) 55 5050 1부터 n까지 연속한 숫자의 합을 구하는 알고리즘 2 ¶ In [2]: # 입력: n # 출력: 1부터 n까지의 숫자를 더한 값 def sum_n ( n ): return n * ( n + 1 ) // 2 print ( sum_n ( 10 )) # 1부터 10까지 합(입력:10, 출력:55) print ( sum_n ( 100 )) # 1부터 100까지 합(입력:100, 출력:5050) 55 5050 최댓값 구하기 ¶ In [3]: # 입력: 숫자가 n개 들어 있는 리스트 # 출력: 숫자 n개 중 최댓값 def find_max ( a ): n = len ( a ) # 입력 크기 n max_v = a [ 0 ] # 리스트의 첫 번째 값을 최댓값으로 기억 for i in range ( 1 , n ): # 1부터 n-1까지 반복 if a [ i ] >