• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

강사님 코드리뷰 부탁드려도 될까요?

20.11.18 15:20 작성 조회수 146

0

연속된 구간의 합의 알고리즘으로

이중포문을 이용한 시간복잡도 O(N2)으로 풀어봤습니다.

아래 코드와 강사님이 하신 코드 차이의 효율성이 많이 나나요?

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int n,tmp, cnt;
int main() {
	freopen("input.txt", "rt", stdin);
	scanf("%d", &n);
	for (int i = n; i >= 1; i--){
		tmp = i;
		for (int j = i-1; j >=1; j--){
			tmp += j;
			if (tmp > n) break;
			if (tmp == n) {
				cnt++;
				for (int k = j; k <= i; k++){
					if (k == i) printf("%d ", k);
					else printf("%d + ", k);
				}
				printf("= %d ", tmp);
				printf("\n");
				break;
			}
		}
	}
	printf("%d", cnt);
 	
	return 0;
} 

답변 2

·

답변을 작성해보세요.

1

안녕하세요^^

영상에서 알려준 방법이 인터뷰에서는 인상적이지만 대부분은 아예 코드구현을 못하거나 구현한다처도 위와같은 방법입니다. 잘하셨습니다.

0

디라오님의 프로필

디라오

질문자

2020.11.20

답변 감사합니다.!