[파이썬/python] 백준 시간복잡도 문제(24262/24263/24264/24265/24266/24267)

24262 알고리즘 수업 - 알고리즘의 수행 시간 1 [🥉5]

print(1)
print(0)
print("""1
0""")

 

 

O(1)이기 때문에 최고차항의 차수는 0이 된다. (상수이기 때문에)

 

 


 

24263 알고리즘 수업 - 알고리즘의 수행 시간 2 [🥉4]

 

 

print(int(input()))
print(1)

for문으로 인해 n번 반복되기 때문에 n값을 그대로 출력하면 된다.

O(n)이기 때문에 최고차항의 차수는 1

 

 


 

 

24264 알고리즘 수업 - 알고리즘의 수행 시간 3 [🥉3]

 

 

print(int(input())**2)
print(2)

for문이 두 번 사용되었고 두 개 전부 n번 반복하기 때문에 n*n을 출력하면 된다.

O(n^2)이기 때문에 최고차항은 2

 

 


 

 

24265 알고리즘 수업 - 알고리즘의 수행 시간 4 [🥉3]

 

 

n = int(input())
print((n-1) * n //2)
print(2)

2,3,4,5,6,7

3,4,5,6,7

4,5,6,7

5,6,7

6,7

7

이런 식으로 진행 되므로

 

마찬가지로 O(n^2)이기 때문에 최고차항은 2

 

 


 

 

24266 알고리즘 수업 - 알고리즘의 수행 시간 5 [🥉3]

 

 

 

print(int(input())**3)
print(3)

n번 진행되는 for문이 총 3개 있으니 n**3,

그리고 시간복잡도는 O(n^3)이 되어서 최고차항은 3

 

 

 


 

24267 알고리즘 수업 - 알고리즘의 수행 시간 6 [🥉2]

 

이런 식으로 for문이 진행된다.

즉, 중복없이 숫자 3개를 뽑을 수 있는 경우의 수와 같다.

이것은 ((n-2)*(n-1)*n)//6 과 같다

n = int(input())
print(((n-2)*(n-1)*n)//6)
print(3)

 

 

comment