코딩 테스트 3-2
*배열의 개념과 필요성을 이해한다. C++에서 배열을 선언하고 사용하는 방법을 학습한다.
구현/시뮬레이션 배열
C++에서 배열을 어떻게 선언하고 초기화하는가, 반복문을 활용하여 배열의 값을 처리하는 방법에 대해 학습한다.
동질성 배열의 원소는 모두 동일한 타입을 갖는다.
메모리 할당이 연속적이다.(물리적으로도) - 접근 속도가 빠르다.
인덱스 기반 접근 - 배열의 첫 번째 원소는 인덱스 0을 가지며, 이후의 원소들은 순차적으로 1씩 증가하는 인덱스를 통해 접근할 수 있다.
& - 배열의 원소가 물리적으로 어디에 위치해 있는지 표시하라는 명령어.
16진법[16bit](0~9, A, B, C....F)
A=x
cout << A
A=y
cout << A => A를 출력하라, A를 y로 바꿔라, A를 (다시) 출력하다.
A=x
A=y
이런 결과가 도출된다.
1차원 배열의 선언 - 선형(직선?)으로 데이터가 저장된다.
선언한 배열이 기존 배열과 같다면 초기화 없이 대체된다.
만일, 초기화하는 값의 개수가 기존보다 작으면 나머지(이후의 원소)는 0으로 자동 초기화(치환)된다.
배열의 크기만 선언하면 내부의 데이터는 초기화 되지 않아 무작위 값(더미데이터)가 출력된다.
2차원 배열의 선언 - 격자(표)형태로 데이터가 저장된다.
엑셀과 유사한 형태가 된다.
int arr[2][3] = {(1, 2, 3), (4, 5, 6)}
2개의 행과 3개의 열을 가지는 2차원 배열
배열의 메모리 구조
컴퓨터 메모리 구조는 1차원이다.
따라서 1차원 배열은 동일하게 저장되지만, 2차원 배열의 메모리 구조는 행 우선으로 저장된다.
배열은 맨 뒤에 삽입 시 O(1)을 가지지만 맨 앞에 삽입 시 O(N)을 가진다.
size - 원소가 있는 크기
capacity - 수용 가능한 크기
newValue - 새 값
===
*원소들을 한칸씩 뒤로 밀어내는 명령
for ( int i = size - 1; i>= 0: i--)
arr[i+1] = arr[i];
=== 이 문구는 따로 고민을 좀 더 해보자
몸풀기 문제
배열 제어하기**
10분 - O(logN)
정수 배열 lst가 주어집니다. 배열의 중복값을 제거하고 배열 데이터를 내림차순으로 정렬해서 반환하는 solution() 함수를 구현하세요.
lst의 길이는 2이상 1,000 이하입니다.
lst의 원소 값은 `100,000 이상 100,000 이하 입니다.
입출력의 예
lst result
[4,2,2,1,3,4] [4,3,2,1]
[2,1,1,3,2,5,4] [5,4,3,2,1]
무엇을 사용해야 하나 - 아마도 벡터
이유 - 중복 값을 제거하고 정렬해야 하므로.
int vactor
==
STL
unique + erase
sort =>내림차순으로 변환
vector<int> solution(vector<int> lst)
bool compare(int a, int b) {
return a>b;
}
vactor<int> solution(vector<int> lst) {
sort(lst.begin(), lst.end(), compare);
lst.erase(unique(lst.begin(), lst.end()), lst.end());
return lst;
}
실전에서
정수배열 numbers 의 서로 다른 두 인덱스를 합한 값을 구하고/ 그 값을 오름차순으로 반환하는 solution()을 구하시오
만 제시되었지만 예시를 보면 중복 값을 제거하고 출력 된 것을 알 수 있다. =>예시를 꼭 뜯어봐야 하는 이유.
중간 저장본이 날아갔다.(이후 내용은 더 간략화 되어있음)
순환 배열 요일처럼 규칙적인 반복 패턴에 사용되는 예시
N => i%N
언리얼 2-2
오버렙/충돌 이벤트
actor begin overlap /trigger box end overlap
component hit
실습 숙제
1 자동문 만들어보기
2 다가오는 객체와 부딪히면 파괴, 캐릭터가 밀려나기
===
1-8강 부터 내용 따라 만들어 보기.

부드럽게 에니메이팅이 되지는 않고 '보는 방향에 맞춰 조작이 가능' 하게 구현되었다.
슬랙에 강의내용을 들으며 찾거나 들은 내용을 요약하며 TIL작성을 하는데 중간수정시 esc키로 날아갈 수 있는 것을 배웠다. (이것에는 안전장치가 따로 없다. 이동할땐 잘만 안내하더니만;)
수정시 저장을 좀 더 자주 해야겠다.
또한 onedrive 관련 문제가 생기기전에 처리해야겠다.
'TIL' 카테고리의 다른 글
| 25.11.13 일자 - TIL (0) | 2025.11.13 |
|---|---|
| 25.11.12일자 - TIL (0) | 2025.11.12 |
| 25.11.10일자 - TIL (0) | 2025.11.10 |
| 25.11.07일자 - TIL (0) | 2025.11.07 |
| 25.11.06일자 - TIL (0) | 2025.11.06 |