tjdgus123 님의 블로그

tjdgus123 님의 블로그

  • 분류 전체보기 (99) N
    • Unreal (18) N
    • TIL (31)
    • Tech (0)
    • Programmers (43) N
    • 게임기획 (3)
    • 팀프로젝트 (2)
    • CS (0)
  • 홈
  • 태그
  • 방명록
RSS 피드
로그인
로그아웃 글쓰기 관리

tjdgus123 님의 블로그

컨텐츠 검색

태그

스택 메모리 스마트 포인터 unordered_map 벡터 Greedy stoll c++ sort STL 알고리즘 dangling pointer 힙 메모리 stoi 얕은복사 깊은복사 반복자 stl 맵

최근글

댓글

공지사항

아카이브

분류 전체보기(99)

  • <프로그래머스 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
  • <Unreal> 모듈 & 플러그인 만들기

    모듈과 플러그인언리얼 엔진은 기능을 모듈 단위로 나눠서 관리한다.우리가 만드는 게임 프로젝트도 사실 하나의 모듈이다. 이번엔 프로젝트 안에서 새 모듈을 직접 추가하고, 재사용 가능한 플러그인 구조까지 손으로 만들어보려고 한다. 1. 프로젝트 생성언리얼 에디터에서 아래 순서대로 프로젝트를 생성했다.Game -> Third Person -> C++ -> Scalable프로젝트 이름 : HW102. Test 모듈 생성source 폴더 안에 Test 폴더를 새로 만들어 모듈 파일을 여기 안에서 생성했다.Source/├── HW10/ ← 기존 주 모듈└── Test/ ← 새로 만든 모듈 ├── Test.Build.cs ├── Test.h └── Test.cpp Te..

    2026.06.23
  • <프로그래머스 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
  • <프로그래머스 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
  • <프로그래머스 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
  • <프로그래머스 C++> n개의 최소공배수 (유클리스 호제법)

    문제n개의 수들의 배수 중 공통이 되는 가장 작은 최소공배수를 구하는 문제이다.풀이 아이디어두 수의 최소공배수는 아래 공식으로 구할 수 있다.LCM(a, b) = a * b / GCD(a, b) GCD는 최대공약수, LCM은 최소공배수이다.이 공식을 이용해서 구해볼 것이다.GCD와 LCMGCD(최대공약수)두 수를 모두 나눌 수 있어야 하므로 공통 인수 중에서 작은 것을 택한다.12 = 2² × 3 8 = 2³공통 인수: 22²로 나누면 → 12/4=3, 8/4=2 (true)2³으로 나누면 → 12/8=1.5 (false)GCD = 2² = 4 LCM(최소공배수)두 수를 모두 담을 수 있어야 하므로 공통 인수 중에서 큰 것을 택한다.12 = 2² × 3 8 = 2³2³ × 3 = 2424 / 12 = 2..

    2026.06.17
이전
1 2 3 4 ··· 17
다음
티스토리
© 2018 TISTORY. All rights reserved.

티스토리툴바