전체 글 109

(매일 BOJ) C++ 24267번 알고리즘 수업 - 알고리즘의 수행 시간 6

이번 문제는 알고리즘 수업 - 알고리즘의 수행 시간 6 문제이다.접근법MenOfPassion(A[], n) { sum 예시에 있는 7을 MenOfPassion 함수에 대입하면 아래와 같이 인덱스가 진행되는 것을 볼 수 있다.이는 시그마 공식을 사용하면 (N-2) (N-1)N / 6 번 연산됨을 구할 수 있다. 작성코드# include using namespace std;int main(void){ ios::sync_with_stdio(0); cin.tie(0); vector v; for (int i = 0; i > n; v.push_back(n); } sort(v.begin(),v.end()); int sum = v[0] + v[1]; if (sum

매일 BOJ 2025.07.21

(매일 BOJ) C++ 24265번 알고리즘 수업 - 알고리즘의 수행 시간 4

이번 문제는 24265번 알고리즘 수업 - 알고리즘의 수행 시간 4 이다.접근법MenOfPassion(A[], n) { sum 이 문제의 MenOfPassion 함수에서는 이중 for 문을 사용하여 작동하고 있는데, j의 값이 i가 증가함에 따라 같이 증가하여 점화식을 세우면 sigma N-1 이 되는 것을 볼 수 있다. 따라서 for 문을 이용하여 하나씩 값을 더한 후 첫째 줄을 출력하면 되고, 둘째 줄은 이 문제의 시간복잡도도 N을 무한대로 근사시킨다면 O(N^2) 에 근사하기에 2를 출력하면 된다. 시간복잡도에 대해 더 알아보고 싶으면 아래 글을 읽어보자https://hanamon.kr/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-time-complexity-%EC%8B..

매일 BOJ 2025.07.21

(매일 BOJ) C++ 24264번 알고리즘 수업 - 알고리즘의 수행 시간 3

이번 문제는 24264번 알고리즘 수업 - 알고리즘의 수행 시간 3이다.접근법MenOfPassion(A[], n) { sum 이 문제의 MenOfPassion 함수에서는 1부터 N까지 i 의 값이 커지고 각 i 값에 대해 j가 1부터 N까지 값이 커지는 동작을 반복하고 있다. 따라서 N의 값에 따라 연산량이 N^2 만큼씩 커지는 것을 볼 수 있기에 이 함수의 시간복잡도는 O(N^2) 가 되어 첫째 줄 출력은 N^2, 둘째 줄 출력은 2가 된다. 시간복잡도에 대한 자세한 내용은 아래 글을 읽어보자https://hanamon.kr/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-time-complexity-%EC%8B%9C%EA%B0%84-%EB%B3%B5%EC%9E%A1%EB%8F..

매일 BOJ 2025.07.21

(매일 BOJ) C++ 24263번 알고리즘 수업 - 알고리즘의 수행 시간 2

이번 문제는 24263번 알고리즘 수업 - 알고리즘의 수행 시간 2 이다.작성코드이 문제는 시간복잡도를 구하는 문제이다. 문제에서 주어진 ManOfPassion 함수에서는 for 반복문을 사용하여 N회 sum의 값을 바꾸는 연산을 진행하고 있다. 따라서 이 문제의 시간복잡도는 O(N) 임을 확인할 수 있다. 그렇다면 이 함수의 수행횟수는 N회가 될테니 첫째 줄 출력은 N, N은 일차 다항식이기에 둘째 줄 출력은 항상 1 일 것이다.# include using namespace std;int main(void){ ios::sync_with_stdio(0); cin.tie(0); int N; cin >> N; cout

매일 BOJ 2025.07.21

(매일 BOJ) C++ 24262번 알고리즘 수업 - 알고리즘의 수행 시간 1

이번 문제는 24262번 알고리즘 수업 - 알고리즘의 수행 시간 1이다.접근법이 문제는 '이게 왜 브론즈 5 난이도지? 문제가 무슨 말인지 모르겠다.' 라고 생각이 들었던 문제였다.따라서 이 문제에서 주어진 ManOfPassion 함수를 먼저 해석해보았다. 이 함수는 n을 입력받아서 2로 나누고 버림했을 때 나오는 정수를 Index로 하고 있었다. 이는 A[]라는 배열의 Indexing 값을 구하고 이를 return 하라는 의미이다. 그리고 문제에서는 이 함수의 수행 횟수를 출력하라고 했기 때문에 이 문제는 시간복잡도를 구하라는 문제임을 알 수 있다 따라서 이를 간파했다면 이 함수는 입력값을 받아서 배열의 index 값을 출력하는 함수이므로 입력이 커지더라도 1번 실행하는 것을 알 수 있다. 따라서 첫줄..

매일 BOJ 2025.07.21