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

스타현이님의 프로필 이미지

작성한 질문수

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

1-L

1-L combi 방식으로 했을때 시간초과

24.05.29 11:37 작성

·

94

·

수정됨

0

http://boj.kr/71e5ee8f28ea4c35a38d8732c08dbca3

안녕하세요.
주몽 문제를 combi 방식으로 했을때 시간초과가 나는 이유는 무엇일까요?

답변 1

1

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

2024. 05. 30. 07:08

안녕하세요 현이님ㅎㅎ

기저사례를 잘못 걸어서 함수가 불필요하게 많이 호출되서 그렇습니다.

 

기저사례는 반드시 return을 해주어야 합니다.

void combi(int start, vector<int> &b) {
  if (b.size() == 2) {
    int sum = 0;
    for (int i = 0; i < b.size(); i++) {
      sum += b[i];
    }

    if (sum == m) {
      cnt++;
    }
     return;
  }

이렇게 해보시겠어요?



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

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

감사합니다.

강사 큰돌 올림.