분류 전체보기
[백준 10026번 C/C++] 적록색약
[백준 10026번 C/C++] 적록색약
2023.12.01[백준 10026번 C/C++] 적록색약 https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 해결전략 너비우선탐색 BFS 코드 #include #include #include using namespace std; int dirY[4] = { -1, 0, 1, 0 }; int dirX[4] = { 0, -1, 0, 1 }; int n; vector v; // 각 칸의 색을 기록 vector R, G, B; // R, G, B의 위치를 기록 /..
[프로그래머스 C++] 줄 서는 방법
[프로그래머스 C++] 줄 서는 방법
2023.11.29[프로그래머스 C++] 줄 서는 방법 https://school.programmers.co.kr/learn/courses/30/lessons/12936 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결방안 순열 Permutation, 조합 Combination 처음 시도한 코드 - 테스트 케이스 모두 통과. 효율성 테스트 시간 초과 #include #include using namespace std; vector answer, temp; int ch[21]; int cnt; void Combination(int idx, const int& n, cons..
[백준 1744번 C/C++] 수 묶기
[백준 1744번 C/C++] 수 묶기
2023.11.28[백준 1744번 C/C++] 수 묶기 https://www.acmicpc.net/problem/1744 1744번: 수 묶기 길이가 N인 수열이 주어졌을 때, 그 수열의 합을 구하려고 한다. 하지만, 그냥 그 수열의 합을 모두 더해서 구하는 것이 아니라, 수열의 두 수를 묶으려고 한다. 어떤 수를 묶으려고 할 때, 위치에 www.acmicpc.net 해결전략 탐욕법, 그리디 알고리즘 Greedy Algorithm 정렬 많은 분기 조건 정답 코드 #include #include #include using namespace std; int n; long long answer; // 수열의 두 수를 묶었을 때 나올 수 있는 수열의 최대합 vector negative, zero, positive; int ma..
[백준 1339번 C/C++] 단어 수학
[백준 1339번 C/C++] 단어 수학
2023.11.27[백준 1339번 C/C++] 단어 수학 https://www.acmicpc.net/problem/1339 1339번: 단어 수학 첫째 줄에 단어의 개수 N(1 ≤ N ≤ 10)이 주어진다. 둘째 줄부터 N개의 줄에 단어가 한 줄에 하나씩 주어진다. 단어는 알파벳 대문자로만 이루어져있다. 모든 단어에 포함되어 있는 알파벳은 최대 www.acmicpc.net 해결전략 탐욕법 Greedy Algorithm 그리디 알고리즘 각 알파벳 [ 예제 ] 2 GCF ACDEB G=100 C=10 F=1 -> GCF = 100G + 10C + 1F A =10000 C=1000 D=100 E=10 B=1 -> ACDEB = 10000A + 1000C + 100D + 10E + 1B A = 10000 * 9 C = 1010..
2023.11.26 운동일지
2023.11.26 운동일지
2023.11.26조깅 5.42km
[백준 10830번 C/C++] 행렬 제곱
[백준 10830번 C/C++] 행렬 제곱
2023.11.26[백준 10830번 C/C++] 행렬 제곱 https://www.acmicpc.net/problem/10830 10830번: 행렬 제곱 크기가 N*N인 행렬 A가 주어진다. 이때, A의 B제곱을 구하는 프로그램을 작성하시오. 수가 매우 커질 수 있으니, A^B의 각 원소를 1,000으로 나눈 나머지를 출력한다. www.acmicpc.net 해결전략 분할 정복 long long mod_pow(long long base, long long exponent, long long mod) base^exponent를 mod로 나눈 나머지를 반환한다. 지수가 0인 경우: base^0 = 1 다. 따라서 1을 반환한다. 지수가 홀수인 경우: base^(2 * k + 1) = (base^k) * (base^k) * ba..
[UE] ContentBrowser Menu: 사용하지 않는 에셋/빈 폴더 제거
[UE] ContentBrowser Menu: 사용하지 않는 에셋/빈 폴더 제거
2023.11.25Content Browser Menu에 사용하지 않는 에셋과 폴더를 제거하는 기능을 추가하였다. 폴더를 우클릭하여 해당 기능을 눌러 실행한다. 해당 에셋이 사용하고 있는지 체크하고 사용하지 않을 경우에만 삭제를 진행한다. 폴더 역시 빈 폴더인지 체크 후에 빈 폴더이면 삭제한다. 목차 사용하지 않는 에셋 제거 Delegate 선언 정리 DECLARE_DELEGATE( DelegateName ) void Function() ex. DECLARE_DELEGATE( OnDelegateButtonClicked ) DECLARE_DELEGATE_OneParam( DelegateName, Param1 Type ) void Function( Param1 ) ex. DECLARE_DELEGATE_OneParam( OnD..
[UE] Asset Editor Tool 3: 사용하지 않는 Asset만 제거하기
[UE] Asset Editor Tool 3: 사용하지 않는 Asset만 제거하기
2023.11.25선택한 에셋들 중 사용하지 않는 에셋만 삭제하는 기능을 추가하였다. 이 기능으로 에셋을 삭제하면 의도치않게 에셋을 삭제하는 불상사를 방지할 수 있다. 목차 1. 사용되지 않는 Asset만 제거하기 .Build.cs 에 "UMG", "Niagara" 추가하기 SWManager.Build.cs 더보기 using UnrealBuildTool; public class SWManager : ModuleRules { public SWManager(ReadOnlyTargetRules Target) : base(Target) { PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; PrivateIncludePaths.AddRange( new string[] { S..
[UE] Asset Editor Tool 2: Asset 접두어 넣기
[UE] Asset Editor Tool 2: Asset 접두어 넣기
2023.11.25언리얼에서 작업을 할때 Asset을 보기좋게 찾기 위해 접두어를 넣는 경우는 흔하다. Material의 경우 M_, Blueprint는 BP_와 같은식이다. 매번 이 과정을 하는것은 귀찮은 일이기 때문에 자동으로 접두어를 붙여주는 기능을 만들었다. 목차 1. Asset 접두어 넣기 언리얼 공식문서에서 제시한 추천 접두어 모듬 https://docs.unrealengine.com/4.27/en-US/ProductionPipelines/AssetNaming/ Recommended Asset Naming Conventions A recommended naming convention to help organize your Assets. docs.unrealengine.com .Build.cs 에 "UMG", "..
[프로그래머스 C++] 마법의 엘리베이터
[프로그래머스 C++] 마법의 엘리베이터
2023.11.24[프로그래머스 C++] 마법의 엘리베이터 https://school.programmers.co.kr/learn/courses/30/lessons/148653 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결전략 구현 정답 코드 #include #include #include using namespace std; int solution(int storey) { vector level; // 배열에 storey의 끝자리 수부터 순서대로 담는다 while(storey){ level.push_back(storey % 10); storey /= 10; } int..
2023.11.23 운동일지
2023.11.23 운동일지
2023.11.23기능성 운동 1시간
[UE] Asset Editor Tool 1: Asset 복제 기능의 Editor 만들기
[UE] Asset Editor Tool 1: Asset 복제 기능의 Editor 만들기
2023.11.23언리얼 에디터 내에서 Asset을 원하는 숫자만큼 한 번에 복제하는 툴 기능을 구현하였다. 만약 0이하의 숫자를 기입하는 경우, 경고 문구를 띄우고 복제가 진행되지 않는다. 해당 기능을 사용해서 좀 더 편리하게 언리얼 작업을 진행해보자. 목차 Asset 복제 기능의 Editor 만들기 Plugin 생성 후 .uplugin 설정 변경하기 SWManager.uplugin Game에는 영향을 안 주고 Editor에서만 영향을 주므로 Runtime이 아닌 Editor로 설정. Plugin Module이 로드되는 시점 PreDefault로 변경 QuickAssetAction 생성 QuickAssetAction.h 더보기 #pragma once #include "CoreMinimal.h" #include "Asse..