[250110 TIL] 텍스트 RPG 팀 프로젝트 시작..!
·
TIL
1️⃣알고리즘 코드카타▪ 콜라 문제https://school.programmers.co.kr/learn/courses/30/lessons/132267 ▪ 명예의 전당https://school.programmers.co.kr/learn/courses/30/lessons/138477 🤔회고한 문제 푸는데 20~30분정도 걸리는 것 같다. 뭐랄까 어찌저찌 풀리긴 하지만 아직 문제를 보고 "아 이건 이렇게 풀면 되겠네~"이렇게 딱 바로 떠오르진 않는다. 문제를 더 많이 풀다보면 나아질까? 다른 사람이 푼 풀이를 보면 자료구조를 활용한다던지 다양한 풀이로 푸는 것 같은데 나도 이제 풀지 못하지는 않으니까 좀 더 다른 방식으로 접근하는 생각을 하려고 노력해야겠다. 2️⃣ 팀 과제🔹텍스트 RPG인터페이스 소멸자도..
[250109 TIL] 상속의 virtual 키워드
·
TIL
1️⃣ 알고리즘 코드카타▪ assign 함수기존 컨테이너의 모든 요소를 제거하고 새 데이터로 대체(크기 자동 재조정) #include #include using namespace std;int main() { vector source = {1, 2, 3, 4, 5}; vector vec; // 5개의 요소를 10으로 초기화 vec.assign(5, 10); // source의 내용을 destination에 복사 vec.assign(source.begin(), source.end()); return 0;} ▪ copy 함수기존 크기와 내용을 유지한 채 복사(크기 고정) #include #include #include using namespace s..
[250108 TIL] 언리얼 C++ 사용하면서 주의할 점
·
TIL
1️⃣ 알고리즘 코드카타▪ 정렬에 사용할 compare에 다른 인자가 필요할 땐?전역변수를 사용하자!https://buly.kr/AweUIbn ▪ 벡터 부분 정렬 sort(temp.begin() + commands[i][0] - 1, temp.begin() + commands[i][1]);https://buly.kr/4mbxy42  2️⃣ 3주차 과제▪ 조건문 주의 언리얼 C++ 조건문 사용하는데 한줄인데도 에러 나서 {}안에 넣어줘야 했음(else는 else if 처리하니까 따로 안 넣어줘도 됐음)▪ 깃허브 데스크톱 주의언리얼이 열려있으면 깃허브로 push 못함(visual studio만 열려있으면 push 가능)🔹 좌표 이동 프로그램 기능 추가💭설명이벤트 발생의 이벤트를 가게에 방문하는 이벤트로 ..
[250107 TIL] 패턴 매칭, 문자열 검색, 치환 등의 작업에 유용한 regex
·
TIL
1️⃣ 알고리즘 코드카타▪ 문자(char)도 아스키 범위 초과하면 오버플로우 발생https://school.programmers.co.kr/learn/courses/30/lessons/12926▪ 스위치 조건문의 조건정수형 상수값(정수, 문자, 열거형)만 조건으로 사용 가능https://school.programmers.co.kr/learn/courses/30/lessons/81301 2️⃣C++ 복습▪ 컨테이너의 복사//둘 다 깊은 복사(컨테이너의 대입 연산은 깊은 복사)vector vec4(vec3); //복사생성자 명시적으로 호출vector vec4 = vec3//컴파일러가 내부적으로 복사 생성자 호출 1️⃣ 3주차 과제🔹 좌표 이동 프로그램C++ 라이브코딩는 너무 오래걸리고...컴파일러 로그도 ..
[250106 TIL] 정적/동적 배열과 벡터, 생성자와 소멸자에서 놓쳤던 부분
·
TIL
1️⃣ 알고리즘 코드카타▪  반복문 증감 조건식에는 하나 이상이 올 수 있음for(int i = 0; i ▪ int형 사용할 땐 항상 숫자 범위 생각하기 ▪ 일부 문자열 → A.substr(begin, end) ▪  원소 반복문 쓸 때for(auto &size : sizes){ //원소 반복문의 변수도 복사 전달 if(size[0]▪  반복과 최대/최소 비교를 사용할 땐 -> min/max 함수int w=0, h=0;for(int i=0; i 2️⃣ C++ 복습▪  배열은 size()함수(STL 컨테이너만 사용 가능_std::Array는 있음) 사용 불가능sizeof(arr)/sizeof(arr[0])으로 원소의 개수 알아냄 sizeof(arr) : 배열 전체의 메모리 크기, sizeof(arr[..
[250103 TIL] 알고리즘 코드카타로 유클리드 호제법, C++ 복습하며 L/RValue 추가 공부
·
TIL
0️⃣ New Knowledge▪ accumulate(반복 시작, 반복 끝, 합의 초깃값)accumulate의 반환값은 합의 초깃값 타입을 따라감vector vec = { 5'000'000'000, 7'000'000'000 };long long sum = accumulate(vec.begin(), vec.end(), 0); //long long으로 받아도 0으로 설정해서 int로 반환 -> 오버플로우 발생 (0대신 0LL 사용)cout ▪ “” ‘’char 변수 = ‘작은 따옴표’string 변수 = “큰 따옴표 ”서로 바뀌면 에러 발생▪ 문자열 리터럴은 const char[] 타입1️⃣ 2주차 과제 풀이🔹 Vector 템플릿 구현 GitHub - swehio/241231_TempleteVector: ..
[250102 TIL] switch반복문에 열거형 입력
·
TIL
❗ New Knowledge🔸알고리즘 코드카타▪vector answer;answer.size() → 바깥쪽 길이(행)answer[n].size() → 안쪽 길이()🔸2주차 과제▪ 벡터의 push_backnew로 생성한 객체를 넘기면 포인터 자체가 저장됨 -> push_back(new 클래스) X▪ 포인터 변수 반환 시 지역 변수의 주소는 반환하면 안됨( 함수가 종료되면 소멸되니까)▪ shift+tap 내어쓰기1️⃣ 2주차 과제🔹도서관 관리 시스템 구현https://github.com/swehio/250102_LibrarySystem GitHub - swehio/250102_LibrarySystemContribute to swehio/250102_LibrarySystem development by c..
[241231 TIL] 언리얼 C++ 한글 폰트 깨짐
·
TIL
❗ New Knowledge🔸알고리즘 코드카타▪ i & 1 : 비트 연산자로 홀수 구분 가능🔸언리얼 C++▪  FMath::RandRange(1, 45); 1과 45 사이에서 랜덤한 수를 뽑아줌▪ GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Yellow, FString::Printf(TEXT("로또 번호: %s"), *LottoNumbersStr));블루프린트의 print string 노드와 같은 역할-1은 새로 생성(양수 값은 인덱스로 사용 가능 -> 같은 번호일 경우 덮어씀)5.f는 지속 시간FColor는 폰트 색깔FString은 출력 내용▪Visual Studio 주석 단축키 안 먹힐 땐 자판 배열 확인하기⁉️ 상기시키기▪ 반복문에서 arr[i]는 *..
[241230 TIL] C++ 공부_객체 선언, 포인터와 참조 등
·
TIL
❗ New Knowledge▪ using namespace std;는 std::를 생략하기 위해서 선언한 것 ▪ min_element(arr.begin(), arr.end()); ▪ std::string substr(size_t pos = 0, size_t count = std::string::npos) const;pos: 추출을 시작할 위치 (기본값: 0).count: 추출할 문자의 개수. 기본값은std::string::npos로, 문자열의 끝까지 추출함. ▪이동시멘틱 : operator 연산자의 하위 개념 -> 면접에서도 가장 어려운 개념(언리얼 내에서는 알아서 처리함)▪ 생성/소멸 시기를 잘 판단해서 선언 및 생성을 어디에서 해야함▪ new 키워드로 힙 메모리에 객체 생성한 경우 해당 객체를 가리키..
[241227 TIL] C++ 공부_자료형의 오버플로우
·
TIL
❗ New Knowledge▪ 자료형의 오버플로우▪ 좋은 설계 : 최대한 클래스의 변경이 없도록 함응집도 : 클래스 내 모듈들이 관련된 정도결합도 : 각 모듈들이 서로 얼마나 의존하는지▪ SOLID 원칙 : 객체 지향 설계 시 주요 원칙 5가지단일 책임 원칙(SRP) : 클래스는 하나의 책임을 가진다.개방 폐쇄 원칙(OCP) : 확장에는 열려 있고 수정에는 닫혀있어야 한다.리스코프 치환원칙(LSP) : 자식 클래스는 부모 클래스에서 기대되는 행동 보장인터페이스 분리 원칙(ISP) : 각 클래스에 불필요한 메서드를 구현하지 말자.의존 역전 원칙(DIP) : 인터페이스는 인터페이스를 구현하는 클래스에 의존적이지 않고 둘다 추상화에 의존하자.▪ 디자인 패턴 : 반복적인 문제를 해결하기 위한 일반화된 솔루션생성..