인프런 커뮤니티 질문&답변

hoon님의 프로필 이미지
hoon

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

1주차 개념 #7. 문제로 연습하는 시간복잡도 Q5

1주차 개념 #7. 문제로 연습하는 시간복잡도 Q5 강의 질문있습니다.

해결된 질문

작성

·

189

·

수정됨

0

안녕하세요 수민님 ㅎㅎ

해당 함수에서 시간복잡도가 어느정도 큰 주요 로직이라고 보시면 됩니다. 예를 들어

#include<bits/stdc++.h>
using namespace std;  
int N, cnt;
void solve(int N){
	cnt++;
	cout << cnt << '\n';
	if(N == 0) return;
	for(int i = 0; i < 3; i++){
		solve(N - 1);
	} 
	return;
}
int main(){
	cin >> N; 
	solve(N);    
	return 0;
} 

이 solve라는 함수에서 주요한 로직은

	for(int i = 0; i < 3; i++){
		solve(N - 1);
	} 

이부분입니다.
---------------------------------------------------
최근 질문에 큰돌님께서 작성하신 답변을 제가 일부 가져왔습니다.

여기서는 메인 로직 즉, 주요 로직이 반복문이라고 설명하셨는데, 강의 5:22초에는 메인 로직이 출력문이라 O(1)이라고 말씀하십니다. 강의내용과 질문게시판 답변 중 뭐가 맞는 건가요?

답변 1

1

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 훈님 ㅎㅎ

제가 해당 답변에서 메인로직에 대한 설명을 혼란스럽게 드린 것 같습니다.

죄송합니다... ㅜㅜ

강의내용은 맞구요. ㅎㅎ

그리고 해당 부분에 대한 답변을 좀 더 자세히 변경했습니다.

https://www.inflearn.com/questions/1185851/1%EC%A3%BC%EC%B0%A8-%EA%B0%9C%EB%85%90-7%EC%97%90%EC%84%9C-%EC%9E%AC%EA%B7%80%ED%95%A8%EC%88%98%EC%9D%98-%EC%8B%9C%EA%B0%84%EB%B3%B5%EC%9E%A1%EB%8F%84%EB%A5%BC-%EA%B5%AC%ED%95%A0-%EB%95%8C-%EB%A9%94%EC%9D%B8-%EB%A1%9C%EC%A7%81%EC%9D%80-%EC%96%B4%EB%96%A4-%EA%B8%B0%EC%A4%80%EC%9C%BC%EB%A1%9C-%EA%B2%B0%EC%A0%95%ED%95%98%EB%8A%94%EA%B1%B4%EA%B0%80%EC%9A%94

해당 링크 참고 부탁드립니다.

 

 

감사합니다.

hoon님의 프로필 이미지
hoon

작성한 질문수

질문하기