매일 BOJ
(매일 BOJ) C++ 24265번 알고리즘 수업 - 알고리즘의 수행 시간 4
norepinephrine
2025. 7. 21. 15:48
이번 문제는 24265번 알고리즘 수업 - 알고리즘의 수행 시간 4 이다.

접근법
MenOfPassion(A[], n) {
sum <- 0;
for i <- 1 to n - 1
for j <- i + 1 to n
sum <- sum + A[i] × A[j]; # 코드1
return sum;
}
이 문제의 MenOfPassion 함수에서는 이중 for 문을 사용하여 작동하고 있는데, j의 값이 i가 증가함에 따라 같이 증가하여 점화식을 세우면 sigma N-1 이 되는 것을 볼 수 있다. 따라서 for 문을 이용하여 하나씩 값을 더한 후 첫째 줄을 출력하면 되고, 둘째 줄은 이 문제의 시간복잡도도 N을 무한대로 근사시킨다면 O(N^2) 에 근사하기에 2를 출력하면 된다.
시간복잡도에 대해 더 알아보고 싶으면 아래 글을 읽어보자
[알고리즘] Time Complexity (시간 복잡도) - 하나몬
⚡️ Time Complexity (시간 복잡도) Time Complexity (시간 복잡도)를 고려한 효율적인 알고리즘 구현 방법에 대한 고민과 Big-O 표기법을 이용해 시간 복잡도를 나타내는 방법에 대해 알아봅시다. ❗️효
hanamon.kr
작성코드
# include <bits/stdc++.h>
using namespace std;
int main(void){
ios::sync_with_stdio(0); cin.tie(0);
long long N;
cin >> N;
long long sum = 0;
for (int i = 1; i < N; i++){
sum += i;
}
cout << sum << '\n' << 2;
}