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

저엉님의 프로필 이미지
저엉

작성한 질문수

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

1-J

9375번 질문있습니다.

해결된 질문

작성

·

65

·

수정됨

0

http://boj.kr/89d59db313824c96be294e13de2e146e

 

의상을 1개부터 n개까지 뽑는데 의상의 종류가 n가지일 때

내가 뽑으려는 의상의 수 > n 이라면 이미 그 전 로직에 뽑혔을 것이라고 생각하고 1~의상 가짓수까지 조합을 돌렸습니다만 시간 초과가 뜹니다.

 

그래서 시간 복잡도를 생각해봤는데 해당 로직의 시간 복잡도는 n의 n제곱이 되기 때문에 시간 초과가 나는 걸까요?

답변 1

0

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

안녕하세요 저엉님 ㅎㅎ

 

시간 복잡도는 n의 n제곱이 되기 때문에

>> 그렇지는 않구요.

지금 보시는 것처럼 nC1, nC2, nC3..을 모두 다 구하기 때문에 -> 시간초과가 뜨는 것 같습니다.

		for(int j=1;j<= uMapSize;j++)
		{
			Combination(-1, j, v);
		}

또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.


저엉님의 프로필 이미지
저엉

작성한 질문수

질문하기