Code Kata; C++ 발제; 따라치기 세션; C++강의 듣기; C++Text RPG | 캠프 7일 차 | 2026/04/28 (Tue) | TIL 13th

2026. 4. 28. 23:27·TIL/Boot Camp

Code Kata; C++ 발제; 따라치기 세션; C++강의 듣기; C++Text RPG

Code Kata

013. 자릿수 더하기 | Solved Date: 2026-04-28-Tue | Problem Link

문제 설명

자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.

예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.

문제 풀이

// solution.cpp

#include <iostream>

using namespace std;
int solution(int n)
{
    int sum = 0;
    //n %= 10; // 1의 자리 (첫 수의 자리) 만 구하기
    //n /= 10; // 1의 자리수 없애기
    while (n > 0) // 0 일 때는 안 더해도 되니깐
    {
        sum += (n % 10);
        n /= 10;
    }
    //cout << sum << endl;
    return answer;
}

Key Points:

  • n%= 10; // 1의 자리 (첫 수의 자리) 만 구하기
  • n /= 10; // 1의 자리수 없애기

Commnets:

  • 이건 생각을 못했다. 다시 풀어보자.

C++ 발제 (CH2 OT)

  • 본격적으로 프로그래밍 언어인 C++을 배우며 Unreal 엔진을 더 잘 다루기 위한 준비 단계
  • 블루프린트만으로도 게임 개발이 가능하지만, 프로젝트 규모가 커질수록 노드가 복잡하게 얽히는 이른바 '스파게티 노드' 문제가 발생하고, 디버깅도 점점 어려워짐. 또한 블루프린트는 성능 면에서 한계가 있어, 게임 개발에서 무엇보다 중요한 최적화에 불리할 수 있다.
  • 반면 C++로 개발하면 훨씬 뛰어난 성능을 확보할 수 있고, 기존 노드의 기능에 의존해야 하는 블루프린트와 달리 원하는 기능을 자유롭게 직접 구현할 수 있다.

학습 목적

  • C++ 개발 환경 설정부터 시작하여, 기초 문법을 학습하고 다양한 예제를 직접 구현하며 응용합니다.

학습 목표

  1. C++의 기본 문법 구조를 이해합니다.(자료형, 변수, 연산자, 조건문, 반복문 등)
  2. 함수의 개념과 사용법을 익히고, 프로그램을 구조적으로 설계합니다.
  3. 배열과 포인터의 개념을 이해하고 메모리 동작 원리를 학습합니다.
  4. 클래스와 객체 개념을 이해하고 객체지향 프로그래밍(OOP)의 기초를 익힙니다.
  5. 입출력 처리 및 간단한 콘솔 기반 프로그램을 구현합니다.

학습 이후

  1. C++ 문법을 기반으로 간단한 프로그램을 스스로 설계하고 구현할 수 있습니다.
  2. 객체지향 개념을 활용하여 구조화된 코드를 작성할 수 있습니다.
  3. 이후 Unreal 엔진또는 자료구조/알고리즘 학습으로 확장할 수 있는 기초 체력을 갖추게 됩니다.

과제

과제가 두개가 있음

  1. Unreal Engine C++ 활용 프로그램 제작
  2. C++ Text RPG

따라치기 세션

1번 과제로 나온 ‘Unreal Engine C++ 활용 프로그램 제작’ 을 강사님 따라서 하면 되는 거.

!!! 문제발생: 공지 잘못 이해해서 그냥 VS Studio 없는 사람 설치하라고 한줄 알았음

  • 사실: ‘VS Studio 2022’ 가 없는 사람은 설치해야 한다는 거였음… 난 2026 있어서 안했었는데 현시점 UE5 는 VS Studio 2022 만 공식으로 사용된다니…
    • 이거 설치하느라 강의때 아무것도 못들음
    • 근데 지금 이걸 올리는 중인 저녁 23:26 분 까지도 녹화본이 안올라와서 우선 내일 해야겠다…

내가 한거

  • Visual Studio 2022 설치
  • Rider 설치 및 중요 Plugin 들 설치
  • Unreal Engine 5에 Rider 연결
  • Actor 생성 및 C++로 로그 찍는 거

(Rider에 Vim Plugin 도 있어서 설치후 만져봤는데 이번주 주말이나 아에 나중에 만져봐야 할듯, 결국 우선은 Disable 해둔 상태)


C++강의 듣기

  • 배열은 통째로 복사 및 대입이 되지 않습니다. (복사하려면 각각 복사해야함)
  • pointer* , & (주소), 배열은 주소값이다
  • 배열
    • 배열은 통째로 복사 및 대입이 되지 않습니다.
    • 배열의 각 원소는 변수와 동일하므로 cin과 cout을 통해 입출력이 가능합니다.
    • 배열은 주소를 나타내기 때문에 포인터 인자값에 전달할때, ‘&’ 없이 그냥 변수 이름만 보내면 됨.
  • 함수
    • 코드스니펫] 함수 호출시 값의 변화 확인 (주소 전달-변수)
    • #include <iostream>
      using namespace std;
      
      // 함수: 포인터를 사용한 값 변경
      void modifyValue(int* ptr) {
          *ptr = 100;  // 포인터가 가리키는 변수의 값을 변경
      }
      
      int main() {
          int num = 50;
          modifyValue(&num); // num의 주소 전달
      
          cout << "포인터 전달 후 num: " << num << endl;
          // 출력: 포인터 전달 후 num: 100
          return 0;
      }
      
      
    •  [코드스니펫] 함수 호출시 값의 변화 확인 (주소 전달-배열)
    • #include <iostream>
      using namespace std;
      
      // 함수: 포인터를 사용한 값 변경
      void modeifyArr(char* ptr) {
          ptr[0] = 'X';  // 포인터가 가리키는 변수의 값을 변경
      }
      
      int main() {
          char str[4] = {'A', 'B', 'C', 'D'};
          modeifyArr(str); // num의 주소 전달
      
          cout << "포인터 전달 후 str[0] = " << str[0] << endl;
          // 출력: 포인터 전달 후 str[0] = X
          return 0;
      }
      
    • [코드스니펫] 함수 호출시 값의 변화 확인 (참조자 사용)
    • #include <iostream>
      using namespace std;
      
      // 함수: 참조를 사용한 값 변경
      void modifyValueByReference(int& x) {
          x = 200;  // 참조를 사용하여 원본 값 변경
      }
      
      int main() {
          int num = 50;
          modifyValueByReference(num); // 참조 전달
      
          cout << "참조 전달 후 num: " << num << endl;
          // 출력: 참조 전달 후 num: 200
          return 0;
      }
      
      
    값을 전달하는 방식 3가지
    • 값 자체를 전달하는 방식: 값을 복사하여 함수로 전달
    • 주소값을 전달하는 방식
    • 참조자를 전달하는 방식이 있습니다.
  • 조건문
    • if, if-else, else if
    • 복합조건 ( &&, || )
    • [코드스니펫] 1부터 20까지 3의 배수 출력
    • #include <iostream>
      using namespace std;
      
      int main() {
          for (int i = 1; i <= 20; i++) { // 초기화: i = 1
                                          // 종료 조건: i <= 20
                                          // 사후 동작: i++
              if (i % 3 == 0) { // 조건: i가 3의 배수인지 확인
                  cout << i << " "; // 3의 배수일 때 i를 출력
              }
          }
          cout << endl; // 줄 바꿈
          // 출력값: 3 6 9 12 15 18
          return 0;
      }
      
      

 


C++Text RPG

  • Complete Step 1 & 2
  • STEP 1 - 캐릭터 생성 화면 (변수, 배열, 함수)구현 항목
  • ===========================================
       [ Dungeon Escape Text RPG ]
    ===========================================
    Enter your hero's name: John
    
    Enter HP and MP: 80 60
    Enter Attack and Defense: 40 25
    
    ====================================
      John's Stats
    ====================================
    HP: 80    MP: 60
    Attack: 40    Defense: 25
    ====================================
    ​
     
    • [ ] string 타입으로 이름 입력 받기
    • [ ] const int SIZE = 4, int stat[SIZE] = {0} 배열 선언하기
    • [ ] stat[0] = HP, stat[1] = MP, stat[2] = 공격력, stat[3] = 방어력 순서로 사용하기
    • [ ] cin으로 스탯 2개씩 입력 받기
    • [ ] void printStatus(string name, int stat[]) 함수 작성 후 호출하기
    주의할 점
    • 배열 인덱스 순서를 주석으로 남겨두면 이후 STEP에서 덜 헷갈립니다

 

  • STEP 2 - 입력 유효성 검사 (while, 조건문)구현 항목
  • Enter HP and MP: 30 80
    HP or MP is too low. Try again.
    Enter HP and MP: 80 60
    Enter Attack and Defense: -5 25
    Attack or Defense is too low. Try again.
    Enter Attack and Defense: 40 25
    ​
     
    • [ ] HP/MP 입력 블록을 while(true)로 감싸기
    • [ ] HP와 MP가 모두 50보다 클 때만 break로 입력 루프 탈출하기
    • [ ] 공격력/방어력도 동일하게 반복 입력 구현하기
    주의할 점
    • while 안에서 입력을 다시 받지 않으면 무한 루프가 됩니다.

 

 

저작자표시 비영리 변경금지 (새창열림)
'TIL/Boot Camp' 카테고리의 다른 글
  • Code Kata [ x만큼 간격이 있는 n개의 숫자 ]; C++ 강의 듣기 1차 완료 | 캠프 9일 차 | 2026/04/30 (Thur) | TIL 15th
  • Code Kata; 코드따라치기 복습 | 캠프 8일 차 | 2026/04/29 (Wed) | TIL 14th
  • C언어 마지막; Unreal Blueprint 라이브 세션 자원자들 발표; Git (깃) & Github (깃허브) 특강 | 캠프 6일 차 | 2026/04/27 (Mon) | TIL 12th
  • 코드카타 (짝수와 홀수); Unreal Blueprint 라이브 세션(마무리) | 2026/04/26 (Sun) | TIL 11th
DevCol
DevCol
DevCol (Development Collaboration). 함께 개발 & 공부 & IT 정보 나눔장소
  • DevCol
    DevCol (Development Collaboration)
    DevCol
  • 블로그 메뉴

    • Unreal Engine
    • TIL
    • 게임국가기술자격검정 게임프로그래밍전문가 [한국콘텐츠진흥원]
    • 분류 전체보기 (73) N
      • Unreal Engine (31) N
        • Project (2) N
        • Dev Log (0)
        • Debugging (2) N
        • Blueprint (1)
        • UE 기초 (25) N
        • UE 심화 (0)
        • TA (1) N
      • Programming Language (0)
        • C++ (0)
        • C# (0)
      • Unity Engine (0)
      • 자격증 (3)
        • 게임국가기술자격검정 [한국콘텐츠진흥원] (3)
      • Coding Test | 코딩테스트 (0)
        • 프로그래머스 기초 (0)
        • 프로그래머스 입문 (0)
      • TIL (38) N
        • Boot Camp (32) N
      • Git & Github (1)
  • 링크

    • Youtube
    • GitHub
    • itch.io
    • Blog (En)
  • 공지사항

  • 인기 글

  • 태그

    Code Kata
    게임 개발
    Game Dev
    프로그래밍
    Devlog
    Unreal engine
    내일배움캠프
    c
    cpp
    언리얼 엔진
    C++
    기초
    UE5
    게임개발
    Boot Camp
    코드카타
    til
    Programming
    코드 카타
    UE
  • 최근 글

  • GitHub Youtube itch
  • hELLO · Designed By 정상우.v4.10.6
  • DevCol
    Code Kata; C++ 발제; 따라치기 세션; C++강의 듣기; C++Text RPG | 캠프 7일 차 | 2026/04/28 (Tue) | TIL 13th
    상단으로

    티스토리툴바