[첫째 마당] 연습문제

5902 단어 스터디스터디

⭐️ 1-1

def square_sum(n):
    sum = 0
    for i in range(1, n+1):
        sum += i**2
    return sum

print(square_sum(10))  # 1^2 + 2^2 + ... + 10^2 = 385

⭐️ 1-2

O(n): 필요한 계산 횟수가 입력 크기 n과 비례함으로 1번 알고리즘의 시간 복잡도는 O(n)이 된다.

⭐️ 1-3

O(1): n까지 연속한 숫자의 제곱의 합을 구하는 공식을 이용하면 필요한 계산 횟수가 입력 크기 n과 무관하기 때문에 시간 복잡도는 O(1)이 된다.

⭐️ 2-1

def find_min(a: list):  # 리스트 형식의 a를 매개변수로 받는다
    minimum = a[0]
    for i in range(1, len(a)):
        if a[i] < minimum:
            minimum = a[i]
    return minimum

print(find_min([5, 4, 3, 2, 1, 1]))  # 1

⭐️ 3-1

def two_people(a: list):
    for i in range(0, len(a)-1):  # 첫 번째 원소부터 두 번째 마지막 원소까지
        for j in range(i+1, len(a)): # 자기보다 큰 원소부터 마지막 원소까지
            print(a[i], "-", a[j])

⭐️ 3-2

A. O(1)
B. O(n)
C. O(n^2)
D. O(n^4)

좋은 웹페이지 즐겨찾기