백준 단계별 풀기에서
시간 복잡도 카테고리를 끗내자
2문제 있다
24267
⚠︎ 알고리즘 수업 - 알고리즘의 수행 시간
티어 : 🥉2
분류 : 시간복잡도
import sys
N = int(sys.stdin.readline())
def men_of_passion(n):
result = 0
for i in range(0, n-2):
for j in range(i+1, n-1):
for k in range(j+1, n):
result += 1
return result
print(men_of_passion(N))
print(3)
생각업이그냥 고대로 구현했는데,,.
시간초과남 ㅎㅎ...
1초인데 500,000^3이니까.. 절대안되는거시다
가운데 식을 잘 보면 n개 중에 3개만 고르는, 즉 조합을 이용하면된다는것을알수잇는거시다
import sys
sys.setrecursionlimit(600000)
N = int(sys.stdin.readline())
def fac(n):
if n == 0 or n == 1:
return 1
return n*fac(n-1)
print(fac(N)//fac(N-3)//fac(3))
print(3)
아니 메모리초과남
그래서 책토리얼 재귀말고반복무ㅜㄴ으로햇더니시간초과남.
500,000*2아님?????오;않됨????
그럼 저 조합식을 풀면,,,,
import sys
N = int(sys.stdin.readline())
print((N)*(N-1)*(N-2)//6)
print(3)
이거됨.
그럼맞음
난 허접이다
24313
⚠︎ 알고리즘 수업 - 점근적 표기 1
티어 : 🥈5
분류 : 시간복잡도
그냥 자고싶다..
O(g(n)) = {f(n) | 모든 n ≥ n0에 대하여 f(n) ≤ c × g(n)인 양의 상수 c와 n0가 존재한다}
아닛 생각없이 나누기식 썼다가 첨보는거 봤다
런타임 에러 (ZeroDivisionError)
뺴고는 스무스하게 맞앗습니다
import sys
a1,a0 = map(int,sys.stdin.readline().split())
c = int(sys.stdin.readline())
n0 = int(sys.stdin.readline())
if (c-a1) == 0 :
n = 0
else:
n = a0 / (c-a1)
if (c >= a1) and (n0 >= n):
print(1)
else:
print(0)
뭐지.
이게 훨씬 쉬운 것 같은데
아 AI 좀 보려고 했는데...
그냥 잘까...
'📊 Algorithm > BOJ' 카테고리의 다른 글
⚠︎ 백준 - 9372 상근이의 여행 ✈️ (0) | 2024.04.10 |
---|---|
⚠︎ 백준 - 6469 전력난⚡️ (0) | 2024.04.09 |
⚠︎ 백준 - 1774 우주신👽과의 교감 (4) | 2024.04.08 |
⚠︎ 백준 - 2447 별 찍기 - 10 (0) | 2024.04.08 |
⚠︎ 백준 - 4195 친구 네트워크 (1) | 2024.04.04 |