jaeyoon8783   4년 전

배열 을 선언에 수를 넣는 방법이 주관적으로 2가지 방법이 있는데


1.

int a;

cin >> a;

int * arr = new int[a];

for(int i = 0 ; i < a ; i++)

     cin >> a[i];

동적할당을 하는 방법과

2.

int a, arr[1000000]

cin >> a;

for(int i = 0 ; i < a ; i++)

cin >> a[i];

공간을 미리 정해주는 방법이 있습니다.


제가 알고리즘을 풀어 나가는데 어떤 방법을 고수하는것이 좀 더 도움될까요?? 

동적할당의 시간 vs 메모리공간의 싸움이라는 것인데 최적화 관점에서는 2번이 좀더 좋을까요???

 

djm03178   4년 전

문제 풀이를 하면서 동적 할당을 직접 신경써야 할 일은 그다지 많지 않았습니다. 입력 크기의 상한이 정해져 있기도 하고, 크기가 동적으로 변하는 경우는 대부분 라이브러리를 통해 해결하지 필요한 만큼만 쓰기 위해 동적할당을 하는 건 느릴 뿐더러 어차피 최대 크기 입력에서는 정적으로 하는 것과 별반 다를 게 없어집니다.

jaeyoon8783   4년 전

감사합니다

댓글을 작성하려면 로그인해야 합니다.