반응형
728x170
https://www.hackerrank.com/challenges/reverse-array-c/problem?h_r=next-challenge&h_v=zen
배경지식
다시 동적메모리할당을 복습해보자면
int *arr (정수형을 가리키는 포인터변수)
arr = (int *)malloc(sizeof(int)); (int *)는 형변환임 casting이라고 한다.
배열을 복습하자면
arr[i] == *(arr + i) 이다.
정말 짧은 생각으로 오류난 경우
저런식으로 짜니까. 17-19라인에서 값을 할당함과 동시에 기존의 배열도 달라져서 값이 제대로 나오지 않는 경우가 발생
제대로 한 것
새로운 배열을 하나 선언해서 문제해결
1. 배열을 역순으로 해야하네?
2. 배열의 순서를 포인터로 가리킬 수 있구나
3. 맨뒤에있는 것을 맨앞에 다 집어넣고 반복하면 되겠구나
4. for문으로 반복하자
5. 기존의 데이터는 유지하면서 할당해야하니까 새로운 배열을 만들자
6. 끝
728x90
반응형
그리드형
'문제풀이(Problem Solving)' 카테고리의 다른 글
C언어 예제 14 "Calculate the Nth term"[HackerRank] (0) | 2020.03.21 |
---|---|
C언어 예제 13 "Printing Tokens" [HackerRank] (3) | 2020.03.20 |
C언어 예제 11 "1D Arrays in C" [HackerRank] (0) | 2020.03.19 |
C언어 예제 8 "Sum of Digits of a Five Digit Number" [HackerRank] (0) | 2020.03.17 |
C언어 예제 7 "For Loop in C" [HackerRank] (0) | 2020.03.16 |