목록전체 글 (226)
득이공간
9375번: 패션왕 신해빈 첫 번째 테스트 케이스는 headgear에 해당하는 의상이 hat, turban이며 eyewear에 해당하는 의상이 sunglasses이므로 (hat), (turban), (sunglasses), (hat,sunglasses), (turban,sunglasses)로 총 5가지 이다. www.acmicpc.net #include #include #include using namespace std; unordered_map Closet; void TestCase() { Closet.clear(); int N; cin >> N; for (int i = 0; i > First >> Second; ++Closet[Se..
2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net #include using namespace std; int StairScores[301]; int DP[301]; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int N; cin >> N; for (int i = 1; i > StairScores[i]; } DP[1] = StairScores[1]; DP[2] = StairScores[1] + StairScores[2]; DP[3] = m..
14940번: 쉬운 최단거리 지도의 크기 n과 m이 주어진다. n은 세로의 크기, m은 가로의 크기다.(2 ≤ n ≤ 1000, 2 ≤ m ≤ 1000) 다음 n개의 줄에 m개의 숫자가 주어진다. 0은 갈 수 없는 땅이고 1은 갈 수 있는 땅, 2는 목표지점이 www.acmicpc.net #include #include using namespace std; int N, M; int Map[1000][1000]; int Distance[1000][1000]; queue SearchQueue; void BFS(int StartRow, int StartCol) { SearchQueue.emplace(StartRow, StartCol); while (!SearchQueue.empty()) { int CurRow..
1074번: Z 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. N > 1인 경우, 배열을 www.acmicpc.net #include #include #include using namespace std; int N, R, C; int SearchNum; void DivideSearch(int StartRow, int StartCol, int Size) { if ((R StartRow + Size) || (C StartCol + Size)) { SearchNum += Size * Size; return; }..
2630번: 색종이 만들기 첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 16, 32, 64, 128 중 하나이다. 색종이의 각 가로줄의 정사각형칸들의 색이 윗줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진다. www.acmicpc.net #include using namespace std; int Paper[128][128]; int CountWhite; int CountBlue; void DividePaper(int StartRow, int StartCol, int Size) { bool bDivide = false; int ColorCheck = -1; for (int i = StartRow; i < StartRow + Size; ++i) { for (int j =..
1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net #include #include using namespace std; priority_queue MinHeap; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int N; cin >> N; for (int i = 0; i > Input; if (Input == 0) { if (MinHeap.empty()) { ..
해당 게시물은 이득우 교수님의 '언리얼 게임 프레임웍의 이해' 강의를 수강하며 학습한 내용을 개인적으로 정리한 글입니다. 📌 목차 - 4장. 게임 데이터와 인공지능 4-1. 게임데이터 관리 4-2. 행동트리 모델의 이해 4-3. 행동트리 모델의 구현 📌 4-1. 게임데이터 관리 1. 외부 데이터 파일로부터 게임 데이터를 관리하는 다양한 방법의 학습 2. 데이터를 관리하는 싱글톤 클래스 생성 방법의 이해 3. 데이터 테이블 기반의 캐릭터 스탯 시스템 구축 4. 지연 생성을 활용한 액터 초기화 방법의 이해 * 이번 강의에서 다룬 게임프레임웍 기능 - 데이터: 테이블, 설정 * 엑셀 데이터의 임포트 - DataAsset과 유사하게 FTableRowBase를 상속받은 구조체를 선언 - 엑셀의 Name 컬럼을 제..
해당 게시물은 이득우 교수님의 '언리얼 게임 프레임웍의 이해' 강의를 수강하며 학습한 내용을 개인적으로 정리한 글입니다. 📌 목차 - 3장. 기믹 시스템의 제작 3-1. 캐릭터 스탯과 위젯 3-2. 아이템 시스템 3-3. 무한맵의 제작 📌 3-1. 캐릭터 스탯과 위젯 1. 액터 컴포넌트를 사용해 캐릭터가 가진 기능을 분산 2. 언리얼 델리게이트를 활용한 발행 구독 모델의 구현 3. 위젯 컴포넌트 초기화 시점을 파악하기 위한 기존 클래스 구조의 확장 설계 * 이번 강의에서 다룬 게임프레임웍 기능 - 폰: 위젯 * 액터 컴포넌트를 활용한 스탯의 설계 - 액터에 부착할 수 있는 컴포넌트 중 트랜스폼이 없는 컴포넌트 - 액터의 기능을 확장할 때 컴포넌트로 분리해 모듈화할 수 있다. - 스탯 데이터를 담당하는 컴..
1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net #include #include #include #include using namespace std; int L, C; vector Alphabets; void DFS(string PW, int CurAlphabetIndex) { if (PW.size() == L) { int Parent = 0; int Child = 0; for (int i = 0; i < L; ++i) { if (PW[i] == 'a' || PW[i] == 'e' || PW[i] == 'i' ||..
해당 게시물은 하루코딩님의 'Do it! 알고리즘 코딩테스트 with C++' 강의를 수강하며 학습한 내용을 개인적으로 정리한 글입니다. 📌 목차 - 9장. 다이나믹 프로그래밍 9-1. 다이나믹 프로그래밍 📌 9-1. 다이나믹 프로그래밍 * 다이나믹 프로그래밍 - 복잡한 문제를 여러 개의 간단한 문제로 분리하여 부분의 문제들을 해결함으로써 최종적으로 복잡한 문제의 답을 구하는 알고리즘 * 다이나믹 프로그래밍 특징 - 큰 문제를 작은 문제로 나눈다. - 작은 문제들이 반복되어 나타나고 사용되며 작은 문제들의 결과는 항상 같다. - 모든 작은 문제들은 한 번만 계산해 DP 테이블에 저장하고 추후 테이블을 재사용할 수 있다. = 메모이제이션 기법 - 바텀-업(반복문), 탑-다운(재귀함수)로 구현 가능하다. *..