일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 개발일지
- 재귀
- 너비우선탐색
- unity
- c++
- binary_search
- lower_bound
- c#
- 이득우
- 게임개발
- 이분탐색
- upper_bound
- 유한상태기계
- 웅진씽크빅
- 프로그래머스
- 언리얼
- 안드로이드
- 알고리즘
- UI 자동화
- 게임개발공모전
- 구현
- fsm
- 시리얼라이제이션
- DFS
- 운영체제
- 백준
- 유니티
- 인프런
- unreal
- BFS
- Today
- Total
목록c++ (17)
초고교급 희망
인프런에서 이득우의 언리얼 프로그래밍 Part 1을 수강하고 작성한 글 입니다. 강의 내용 언리얼 델리게이트를 사용해 클래스 간의 느슨한 결합을 구현하기 강의 목표 느슨한 결합의 장점과 이를 편리하게 구현하도록 도와주는 델리게이트의 이해 발행 구독 디자인 패턴의 이해 언리얼 델리게이트를 활용한 느슨한 결합의 설계와 구현의 학습 강한 결합과 느슨한 결합 강한 결합(Tigth Coupling) 클래스들이 서로 의존성을 가지는 경우 느슨한 결합(Loose Coupling) 실물에 의존하지 말고 추상적 설계에 의존하라. (DIP 원칙) 느슨한 결합 구조는 유지 보수를 손쉽게 만들어줌. 느슨한 결합의 간편한 구현 - 델리게이트(Delegate) 함수를 오브젝트처럼 관리하면 어떨까? 함수를 다루는 방법 함수 포인터..
인프런에서 이득우의 언리얼 프로그래밍 Part 1을 수강하고 작성한 글 입니다. 강의 내용 언리얼 C++만의 컴포지션 기법을 사용해 복잡한 언리얼 오브젝트를 효과적으로 생성하는 방법에 대해 알아보겠습니다. 강의 목표 언리얼 C++의 컴포지션 기법을 사용해 오브젝트의 포함 관계를 설계하는 방법의 학습 언리얼 C++이 제공하는 확장 열거형 타입의 선언과 활용 방법의 학습 컴포지션(Composition) 객체지향 프로그래밍의 설계는 크게 상속과 컴포지션의 활용으로 요약할 수 있다. 상속: 성질이 같은 부모 클래스와 자식 클래스의 관계를 의미하는 Is-A 관계 이것만 의존해서는 설계와 유지보수가 어려움.) 컴포지션: 성질이 다른 두 객체에서 어떤 객체가 다른 객체를 소유하는 Has-A 관계 복합적인 기능을 가진..
그리디를 이용한 문제였다. 회의가 끝나는 시간이 빠른 기준으로 정렬한다. 회의가 끝나는 시간이 동일하다면 시작하는 시간이 빠른 기준으로 정렬한다. #include #include #include #include using namespace std; int n; pair conference[100005]; bool func(pair a, pair b) { if (a.second == b.second) { return a.first > n; for (int i = 0; i > conference[i].first >> conference[i].second; } sort(c..
개요 이분탐색의 개념자체는 쉽다. 심지어 stl에 이미 함수가 있어서 직접 구현할 필요조차 없다. 하지만 조금만 꼬아서 내도 문제 난이도가 저세상으로 간다. 그러니 코딩 테스트에서 킬러 문항으로 자주 출제되는 이분탐색 응용 문제 공략에 대해 알아보자! 이분탐색이란? 정렬되어 있는 배열에서 특정 데이터를 찾기 위해 탐색 범위를 절반으로 줄여가며 찾는 탐색 방법 시간 복잡도는 O(logN)이다. C++ STL의 이분탐색 시간 복잡도 STL에 있는 이분탐색 함수도 O(logN)이다. 헤더 파일 에 std::binary_search가 있다. 이분탐색을 하기 위해선 정렬이 필수인데 std::sort 또한 에 있다. binary_search template bool binary_search (ForwardItera..
찾고자하는 숫자가 얼마나 많이 있는지 구하는 문제였다. C++ STL에 있는 lower_bound와 upper_bound를 사용해도 좋지만 직접 구현하여도 좋다. 하지만 실제 시험에서는 제한 시간이 모자라거나, 긴장해서 실수할 수도 있기 때문에 STL을 쓰는 것이 더 좋을 것 같다. #include #include using namespace std; int n, m; int a[500001]; int lower_idx(int target, int n) { int st = 0; int ed = n; while (st < ed) { int mid = (st + ed) / 2; if (a[mid] < target) { st = mid + 1; mid = (st + ed) / 2; } else if (a[mi..
이분탐색을 이용한 문제였다. 이분탐색을 직접 구현해주어도 좋지만, STL에 있는 binary_search를 이용하여 빠르게 풀어주었다. 실제 코딩테스트에서는 시간이 부족한 경우가 많기 때문에 STL을 활용할 수 있다면 최대한 도움을 받고, 다음 문제를 풀러가는 것이 좋은 것 같다. 그리고 이분탐색 하기 전에 데이터 정렬하는 것 잊지 말기 #include #include #include using namespace std; int main() { int n, m; vector v; scanf("%d", &n); for (int i = 0; i < n; i++) { int temp; scanf("%d", &temp); v.push_back(temp); } sort(v.begin(), v.end()); sca..
안녕하세요. 날씨가 쌀쌀하니 귤의 계절이 돌아왔네요. 그래서 프로그래머스 귤 고르기를 풀어보았습니다. 🍊문제 https://school.programmers.co.kr/learn/courses/30/lessons/138476 🐼문제 설명 경화는 과수원에서 귤을 수확했습니다. 경화는 수확한 귤 중 'k'개를 골라 상자 하나에 담아 판매하려고 합니다. 그런데 수확한 귤의 크기가 일정하지 않아 보기에 좋지 않다고 생각한 경화는 귤을 크기별로 분류했을 때 서로 다른 종류의 수를 최소화하고 싶습니다. 예를 들어, 경화가 수확한 귤 8개의 크기가 [1, 3, 2, 5, 4, 5, 2, 3] 이라고 합시다. 경화가 귤 6개를 판매하고 싶다면, 크기가 1, 4인 귤을 제외한 여섯 개의 귤을 상자에 담으면, 귤의 크기의..
#include #include #include using namespace std; bool map[101][101]; int n, k, l; // 보드 크기, 사과 개수, 방향 변환 횟수 int dx[4] = { 0,1,0,-1 }; int dy[4] = { 1,0,-1,0 }; bool apple[101][101]; int dir[10001]; int d; int main() { // 뱀은 큐. 뱀의 길이가 선입 선출 queue snake; cin >> n >> k; for (int i = 0; i > x >> y; apple[x][y] = true; } cin >> l; for (int i = 0; i < l; i++) { int x; string ..