교안 속의 조합의 시간복잡도에 대한 질문
296
작성한 질문수 10
안녕하세요.
제가 어제 코테를 칠 일이 있어서 문제를 풀었는데
정말 운이 좋게 14502 연구소 문제에서 사용한 중복조합으로 풀 수 있었습니다.
nH3 정도의 문제여서 바로 저번 문제에서 본 대로 3중 루프문을 사용했습니다.
근데 돌아오고 보니 그냥 교안에 있던 조합 재귀 함수를 만들어서도 풀 수 있었습니다.
그래서 여기서 질문인 게 같은 조건이면 어느 쪽이 시간복잡도 측면에서 유리한 건가요?
결국 해야 할 연산의 양이 똑같을 거 같습니다.
답변 1
0
안녕하세요. RokiePlayer님 ㅎㅎ
코테 잘보셨나요? 여기서 추천한 문제유형이 나와서 저도 정말 기분이 좋네요.ㅎㅎ
nH3 정도의 문제여서 바로 저번 문제에서 본 대로 3중 루프문을 사용했습니다.
>> 3중루프문을 써서 중복조합말고 조합을 하시는 것을 추천드립니다.
for i = 0 ~ n
for j = 0 ~ n
이런식으로 푸신 것 같은데
for i = 0 ~ n
for j = i + 1 ~ n
이런식으로 푸시면 "중복조합" 아닌 "조합"이 되는 것이죠.
근데 돌아오고 보니 그냥 교안에 있던 조합 재귀 함수를 만들어서도 풀 수 있었습니다.
그래서 여기서 질문인 게 같은 조건이면 어느 쪽이 시간복잡도 측면에서 유리한 건가요?
결국 해야 할 연산의 양이 똑같을 거 같습니다.
>> 연산의 양은 똑같습니다. 재귀함수도, 반복문을 통해서 하든 똑같은 "조합"이라면요. 하지만 시간은 반복문이 훨씬 빠릅니다. 물론 문제마다 다른 부분이 있겠지만 보통은 반복문이 빠릅니다. 왜냐면 재귀함수를 만든다고 했을 때 "함수를 반복해서 만드는 비용"이 발생하기 때문이죠.
또 질문사항있으시면 언제든 말씀 부탁드립니다.
감사합니다.
강사 큰돌 올림.
1-E질문입니다!
0
529
2
3-L 틀린 부분 피드백 부탁드립니다.
0
833
2
1-A문제 순열재귀함수 질문입니다.
0
396
1
1-A 일곱난쟁이문제입니다
0
465
1
문제 풀 때 방향성에 대해
0
808
1
맥에서 vs code로 실행 관련 질문입니다
0
528
1
17071번 메모리 초과
0
388
1
1-C질문입니다!
0
427
2
2-B BFS 시간초과질문
0
636
2
1-O 13번 라인
0
445
1
6-J 놀이공원 문제 질문
0
386
1
구현관련 질문
0
487
1
강의 교안
0
321
1
실력을 더 올리고나서 강의를 보는 것이 맞을까요?
0
549
1
안녕하세요! 재귀함수에 관해서 질문드립니다
0
538
1
1-K
0
481
2
3-G번 질문있습니다.
1
478
3
3-C 실행 시간 질문드립니다.
0
500
1
4-A 문제 풀이 질문있습니다.
0
598
2
비트마스킹 연산자 "1의 보수" 영문 표기법
0
441
1
격자탐색 문제에서 BFS 시간복잡도 질문드립니다.
0
344
1
3-O go 함수 질문 드립니다.
1
450
2
4-A 출력 질문
0
306
1
1주차 1-O 질문드립니다
0
262
1





