[이전 블로그 게시글] 빠른 A+B
2019. 8. 3. 11:52ㆍ프로그래밍/문제풀이
728x90
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main() {
int length;
int x, y;
scanf("%d", &length);
int *numArr= malloc(sizeof(int) *length);
for (int i = 0; i < length; i++) {
scanf("%d %d", &x, &y);
numArr[i] = x + y;
}
for (int j = 0; j < length; j++) {
printf("%d\n", numArr[j]);
}
free(numArr);
}
|
cs |
우선 반복문에서 연산을 빠르게 하는 예시를 들어주고있는데 C언어에선 해당없음 (충분히 연산속도가 빠르기 때문..)
그냥 말 그대로 첫번째 testcase값이 들어오고 (최대 : 1,000,000) 이를 위해 배열을 생성해야 하는데 int형이므로 최대 4*1,000,000까지 들어와야하는데 너무 메모리 낭비가 심한 것 같아 동적할당으로 배열을 선언하였다
동적할당을 사용하기 위해서는 #include <stdlib.h>라는 헤더를 선언해주어야하는데
이 헤더에 malloc과 free 함수가 들어있기 때문이다.
이후 numArr이라는 변수를 포인터 형식으로 선언해주고 x,y를 각각 선언해주어 루프 안에 집어넣어 TestCase 수만큼 입력들 받아준다
나중에는 배열에서 하나씩 꺼내주듯이 출력을 해주면 정답이다!
728x90
'프로그래밍 > 문제풀이' 카테고리의 다른 글
13301 타일 장식물 Python 풀이 (100점) (0) | 2021.07.21 |
---|---|
다이나믹 프로그래밍 (DP)를 이용한 9625 풀이 (0) | 2021.07.21 |
[BOJ] 최소비용 구하기 C++ 풀이 (0) | 2021.07.12 |
[BOJ] 연결 요소의 개수 파이썬 풀이 (0) | 2021.07.04 |
acmicpc 1004 문제풀이 [오답..] (0) | 2020.01.18 |