-
<프로그래머스 C++> 원형 수열의 연속 부분 수열 합 풀이 (set)
문제원형 수열에서 연속하는 부분 수열의 합으로 만들 수 있는 수가 몇 가지인지 구하는 문제이다.원형 수열은 처음과 끝이 연결된 형태이다. (n번째 다음이 바로 0번째로)풀이 아이디어각 시작점에서 1, 2, 3개 ... n개까지 늘려가면서 합을 전부 구해 set에 넣는다.i=0 (7이 시작점) 7 7+9 7+9+1 7+9+1+1 7+9+1+1+4i=1 (9가 시작점) 9 9+1 9+1+1 9+1+1+4 9+1+1+4+7 ← 원형으로 7까지 ...원형 배열에서 끝을 넘어 처음으로 돌아오는건 %(element.size())로 처리한다. i=3, len=3: (3+2) % 5 = 0 → elements[0] = 7 ← 원형으로 돌아옴set이 중복을 자동으로 제거해주기 때문에 마지막에 su..
2026.06.24 12:32 -
모듈 & 플러그인 만들기 모듈과 플러그인언리얼 엔진은 기능을 모듈 단위로 나눠서 관리한다.우리가 만드는 게임 프로젝트도 사실 하나의 모듈이다. 이번엔 프로젝트 안에서 새 모듈을 직접 추가하고, 재사용 가능한 플러그인 구조까지 손으로 만들어보려고 한다. 1. 프로젝트 생성언리얼 에디터에서 아래 순서대로 프로젝트를 생성했다.Game -> Third Person -> C++ -> Scalable프로젝트 이름 : HW102. Test 모듈 생성source 폴더 안에 Test 폴더를 새로 만들어 모듈 파일을 여기 안에서 생성했다.Source/├── HW10/ ← 기존 주 모듈└── Test/ ← 새로 만든 모듈 ├── Test.Build.cs ├── Test.h └── Test.cpp Te..
2026.06.23 21:13 -
<프로그래머스 C++> 괄호 회전하기 풀이 (stack)
문제대괄호, 중괄호, 소괄호로 이루어진 문자열 s를 왼쪽으로 x칸 회전했을 때 올바른 괄호 문자열이 되는 x의 개수를 return하는 문제이다.풀이 아이디어이 문제의 핵심 포인트는 두 가지이다. 1. 문자열 회전x칸을 회전하는 것은 왼쪽 앞부분을 잘라 뒤에 붙이면 된다."[](){}" 를 2칸 회전뒷부분: s.substr(2) = "(){}"앞부분: s.substr(0, 2) = "[]"회전 결과 = "(){}" + "[]" = "(){}[]"string rotated = s.substr(x) + s.substr(0, x); 2. 올바른 괄호 판별 (스택 사용)여는 괄호를 stack에 push, 닫는 괄호는 스택의 top과 짝이 맞는지 확인한다.모든 문자를 처리한 후, 스택이 0이 되면 올바른 괄호..
2026.06.23 11:35 -
<프로그래머스 C++> 귤 고르기 풀이 (unordered_map, greedy)
문제귤 k개를 골라 상자에 담을 때 크기 종류의 수를 최소화하는 문제이다.귤의 크기별 개수를 세고, 개수가 많은 순서대로 담아 종류를 최소화할 수 있다.풀이 아이디어종류 수를 최소화하려면 개수가 많은 크기부터 먼저 담으면 된다. [1, 3, 2, 5, 4, 5, 2, 3]에서 크기별로 개수를 세면 다음과 같다.2 → 2개3 → 2개5 → 2개1 → 1개4 → 1개 개수 많은 순으로 정렬하면 [2, 2, 2, 1, 1,] k = 6이면 2 + 2 + 2 = 6으로 세 종류를 담을 수 있다. 문제 해결 흐름unordered_map으로 크기별 개수를 센다.개수만 꺼내 내림차순으로 정렬한다.개수가 많은 순서대로 k에서 빼며 종류 수를 센다.k가 0이하가 되는 순간 종료한다.문제 풀이#include #includ..
2026.06.22 12:16 -
<프로그래머스 C++> 멀리 뛰기 풀이 (피보나치)
문제한 번에 1칸 또는 2칸을 뛸 수 있을 때, n칸을 이동하는 방법의 수를 1234567로 나눈 나머지를 return하는 문제이다.풀이 아이디어n칸에 도달하는 방법을 생각해보면, 마지막 점프가 1칸이었거나 2칸이었거나 둘 중 하나이다.f(n) = f(n-1) + f(n-2)이 문제를 보자마자 피보나치 수열의 점화식이 바로 떠올랐다. 초기값은f(1) = 1 → (1칸)f(2) = 2 → (1+1칸), (2칸)이렇게 설정한다. https://tjdgus123.tistory.com/95 피보나치 수 풀이(재귀 함수)" data-og-description="문제F(0) = 0F(1) = 1 일때 F(n) = F(n-1) + (n-2)인 피보나치 수열에서 n번째 수를 1234567로 나눈 나머지를 ret..
2026.06.18 10:32