반응형

분류 전체보기 282

[백준 5582] 공통 부분 문자열 C++

문제 백준 5582 공통 부분 문자열 C++ 5582번: 공통 부분 문자열 두 문자열이 주어졌을 때, 두 문자열에 모두 포함된 가장 긴 공통 부분 문자열을 찾는 프로그램을 작성하시오. 어떤 문자열 s의 부분 문자열 t란, s에 t가 연속으로 나타나는 것을 말한다. 예를 들 www.acmicpc.net 풀이 예제 입력을 보겠습니다. A B R A C A D A B R A E C 1 A 1 1 1 1 1 D 1 A 1 1 1 1 1 D 1 A 1 1 1 1 1 B 1 1 R 1 1 B 1 1 C 1 R 1 1 D 1 A 1 1 1 1 1 R 1 1 A 1 1 1 1 1 s1를 문자열 1의 길이, s2를 문자열 2의 길이라고 하면 dp[0][0] 부터 dp[s2-1][s1-1] 까지 루프를 돌면서 s1과 s2..

알고리즘/백준 2021.10.03

[백준 13023] ABCDE C++

문제 백준 13023 ABCDE C++ 13023번: ABCDE 문제의 조건에 맞는 A, B, C, D, E가 존재하면 1을 없으면 0을 출력한다. www.acmicpc.net 풀이 깊이가 4이상인 노드가 있는지 확인하는 문제입니다. 각각의 노드에서 DFS를 실행하여 깊이가 4가 이상이 되는지 확인합니다. 소스 코드 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 #include #include using namespace std; vector v[2000]; bool visited[2000]; bool ispossible; void ..

알고리즘/백준 2021.10.02

[백준 1038] 감소하는 수 C++

문제 백준 1038 감소하는 수 C++ 1038번: 감소하는 수 음이 아닌 정수 X의 자릿수가 가장 큰 자릿수부터 작은 자릿수까지 감소한다면, 그 수를 감소하는 수라고 한다. 예를 들어, 321과 950은 감소하는 수지만, 322와 958은 아니다. N번째 감소하는 수를 www.acmicpc.net 풀이 감소하는 수의 순서는 다음과 같습니다. 한 자리 : 0 (0번째) -> 1 (1번째) ~ ... ~ 9 (9번째) 두 자리 : 10 -> 20 -> 21 -> 30 -> 31 -> 32 -> ... -> 98 세 자리 : 210 > 310 -> 320 -> 321 -> ... -> 987 네 자리 : 3210 -> ... -> 9876 ... 열 자리 : 9876543210 각 자리 수가 0~9 이기 때..

알고리즘/백준 2021.10.01

[백준 6593] 상범 빌딩 C++

문제 백준 6593 상범 빌딩 C++ 6593번: 상범 빌딩 당신은 상범 빌딩에 갇히고 말았다. 여기서 탈출하는 가장 빠른 길은 무엇일까? 상범 빌딩은 각 변의 길이가 1인 정육면체(단위 정육면체)로 이루어져있다. 각 정육면체는 금으로 이루어져 있어 www.acmicpc.net 풀이 2차원 배열로 bfs, dfs 문제를 푸는 경우가 많은데 이 문제는 3차원 배열로 풀어야해서 꽤 신선했습니다. 특별할 건 없고, 2차원 배열로 풀던걸 3차원으로 적용시키면 됩니다. 이동할 수 있는 지점은 상 / 하 / 좌 / 우 / 위 / 아래 (동서남북상하)의 6가지 경우입니다. 소스 코드 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 ..

알고리즘/백준 2021.10.01

Unity(유니티)와 Sourcetree(소스트리) 연동하기

개요 sourcetree를 이용해 Unity 버전 관리 하는 법 1. Unity 설정의 Version Control 속성 변경 2. gitignore 파일에 유니티 프로젝트에서 무시할 파일 추가 3. 용량이 큰 파일들은 GIT LFS로 관리 출처 https://dragontory.tistory.com/321 유니티 프로젝트를 소스트리(SourceTree)로 Git에 유니티 프로젝트 올리기 위해서 처음 해야 할 일. 유니티 프로젝트를 소스트리(SourceTree)로 Git에 유니티 프로젝트 올리기 위해서 처음 해야 할 일. 1. Unity 설정의 Version Control 속성 변경 Edit->ProjectSetting->Editor -> Version Control 의 Hidden Meta.. drag..

게임 엔진/Unity 2021.09.30

[Unity] 오브젝트 풀링 (Object Pooling)

개요 Unity에서 Instantiate나 Destroy를 사용할 때마다 메모리 파편화가 발생한다. 파편화된 메모리를 정리하는데에는 GC(Garbage Collector)가 사용되는데, 프레임 드롭을 유발한다고 한다. 따라서 오브젝트를 생성할 때 메모리 파편화를 최대한 적게 일으키기 위해 오브젝트 재활용이 필요하다. 방법 방법은 간단하다. 1. 오브젝트 풀을 미리 선언한다. 2. 오브젝트 풀에서 관리할 오브젝트를 생성한다. 3. 오브젝트를 사용할 때, 새로 만들지 않고 오브젝트 풀에서 꺼내온다. 3-1. 이미 오브젝트 풀의 모든 오브젝트를 사용중이여서 꺼내올 오브젝트 없다면, 새로 만들어준다. (선택사항) 4. 오브젝트를 지우거나 비활성화 할 때, 오브젝트 풀에 다시 넣어준다. 예시 https://www..

게임 엔진/Unity 2021.09.30

[백준 17471] 게리맨더링 C++

문제 백준 17471 게리맨더링 C++ 17471번: 게리맨더링 선거구를 [1, 4], [2, 3, 5, 6]으로 나누면 각 선거구의 인구는 9, 8이 된다. 인구 차이는 1이고, 이 값보다 더 작은 값으로 선거구를 나눌 수는 없다. www.acmicpc.net 풀이 N까지의 노드를 0과 1로 양분합니다. 0과 1을 양분할 수 있는 모든 경우의 수에 대해 실행합니다. (조합 이용) 0과 1로 양분할 수 있게 영역이 결정되면, 각 영역을 서로 0은 0끼리, 1은 1끼리 연결할 수 있는지 확인힙니다. 연결이 가능하다면, 각각의 합을 구한 후 차를 구하고, 최솟값과 비교하여 갱신합니다. 소스 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ..

알고리즘/백준 2021.09.29

[백준 2668] 숫자고르기 C++

문제 백준 2668 숫자고르기 C++ 2668번: 숫자고르기 세로 두 줄, 가로로 N개의 칸으로 이루어진 표가 있다. 첫째 줄의 각 칸에는 정수 1, 2, …, N이 차례대로 들어 있고 둘째 줄의 각 칸에는 1이상 N이하인 정수가 들어 있다. 첫째 줄에서 숫자를 적절 www.acmicpc.net 풀이 각각의 정점에서 dfs를 실행하면서, 다른 루프와 겹치는지 검사합니다. 겹치지 않았다면 cnt를 늘려주고 check 표시를 합니다. 이후 check된 노드들을 표시합니다. 소스 코드 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 4..

알고리즘/백준 2021.09.28

[백준 9084] 동전 (C++)

문제 백준 9084 C++ 9084번: 동전 우리나라 화폐단위, 특히 동전에는 1원, 5원, 10원, 50원, 100원, 500원이 있다. 이 동전들로는 정수의 금액을 만들 수 있으며 그 방법도 여러 가지가 있을 수 있다. 예를 들어, 30원을 만들기 위해서는 www.acmicpc.net 풀이 소스 코드 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 31 32 33 34 35 #include #include #include using namespace std; int dp[10001]; int main() { int t; cin >> t; while (t > 0) { // 입력 int n; cin >> n;..

알고리즘/백준 2021.09.27

[백준 2981] 검문 C++

문제 백준 2981 검문 C++ 2981번: 검문 트럭을 타고 이동하던 상근이는 경찰의 검문을 받게 되었다. 경찰은 상근이가 운반하던 화물을 하나하나 모두 확인할 것이기 때문에, 검문하는데 엄청나게 오랜 시간이 걸린다. 상근이는 시간 www.acmicpc.net 풀이 소스 코드 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 #include #include #include #include using namespace std; // 유클리드 호제법 int GCD(int a, int b) { if (a % b == 0..

알고리즘/백준 2021.09.26
반응형