[프로그래머스/C++ 문제 풀이] Lv. 1 - [PCCE 기출문제] 9번 / 이웃한 칸
·
코딩테스트/프로그래머스 (Lv. 1)
문제 설명각 칸마다 색이 칠해진 2차원 격자 보드판이 있습니다. 그중 한 칸을 골랐을 때, 위, 아래, 왼쪽, 오른쪽 칸 중 같은 색깔로 칠해진 칸의 개수를 구하려고 합니다.보드의 각 칸에 칠해진 색깔 이름이 담긴 이차원 문자열 리스트 board와 고른 칸의 위치를 나타내는 두 정수 h, w가 주어질 때 board[h][w]와 이웃한 칸들 중 같은 색으로 칠해져 있는 칸의 개수를 return 하도록 solution 함수를 완성해 주세요.이웃한 칸들 중 몇 개의 칸이 같은 색으로 색칠되어 있는지 확인하는 과정은 다음과 같습니다.1. 정수를 저장할 변수 n을 만들고 board의 길이를 저장합니다.2. 같은 색으로 색칠된 칸의 개수를 저장할 변수 count를 만들고 0을 저장합니다.3. h와 w의 변화량을 저..
[프로그래머스/C++ 문제 풀이] Lv. 1 - 체육복
·
코딩테스트/프로그래머스 (Lv. 1)
문제 설명점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다.전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 학생의 최댓값을 return 하도록 solution 함수를 작..
[Unreal Engine 5] GameInstanceSubsystem
·
Game Programming/Unreal Engine
개요멀티플레이어 게임을 제작하기 위한 세션 관리를 어디서 할지 고민 중에 GameInstanceSubsystem에서 처리하면 좋다는 의견을 받아 GameInstanceSubsystem이 정확하게 어떤 것인지에 대해 정리해보았습니다.Subsystem, GameInstanceSubsystem언리얼 엔진의 서브시스템은 수명이 관리되는 자동 인스턴싱 클래스입니다. 클래스는 사용하기 쉬운 확장점을 제공하여, 프로그래머는 블루프린트 및 Python 을 바로 노출시킴과 동시에 복잡한 엔진 클래스 수정 또는 오버라이드를 피할 수 있습니다.  또한 자동으로 수명이 관리되기에 서브시스템은 플러그인을 만들 때 특히 유용합니다. 그 이유는 사용자는 플러그인을 게임에 추가하기만 하면 플러그인이 언제 인스턴싱 및 초기화될 지 정..
[프로그래머스/C++ 문제 풀이] Lv. 1 - 햄버거 만들기
·
코딩테스트/프로그래머스 (Lv. 1)
문제 설명햄버거 가게에서 일을 하는 상수는 햄버거를 포장하는 일을 합니다. 함께 일을 하는 다른 직원들이 햄버거에 들어갈 재료를 조리해 주면 조리된 순서대로 상수의 앞에 아래서부터 위로 쌓이게 되고, 상수는 순서에 맞게 쌓여서 완성된 햄버거를 따로 옮겨 포장을 하게 됩니다. 상수가 일하는 가게는 정해진 순서(아래서부터, 빵 – 야채 – 고기 - 빵)로 쌓인 햄버거만 포장을 합니다. 상수는 손이 굉장히 빠르기 때문에 상수가 포장하는 동안 속 재료가 추가적으로 들어오는 일은 없으며, 재료의 높이는 무시하여 재료가 높이 쌓여서 일이 힘들어지는 경우는 없습니다.예를 들어, 상수의 앞에 쌓이는 재료의 순서가 [야채, 빵, 빵, 야채, 고기, 빵, 야채, 고기, 빵]일 때, 상수는 여섯 번째 재료가 쌓였을 때, 세..
[프로그래머스/C++ 문제 풀이] Lv. 1 - [PCCE 기출문제] 10번 / 데이터 분석
·
코딩테스트/프로그래머스 (Lv. 1)
문제 설명AI 엔지니어인 현식이는 데이터를 분석하는 작업을 진행하고 있습니다. 데이터는 ["코드 번호(code)", "제조일(date)", "최대 수량(maximum)", "현재 수량(remain)"]으로 구성되어 있으며 현식이는 이 데이터들 중 조건을 만족하는 데이터만 뽑아서 정렬하려 합니다.예를 들어 다음과 같이 데이터가 주어진다면data = [[1, 20300104, 100, 80], [2, 20300804, 847, 37], [3, 20300401, 10, 8]] 이 데이터는 다음 표처럼 나타낼 수 있습니다. 주어진 데이터 중 "제조일이 20300501 이전인 물건들을 현재 수량이 적은 순서"로 정렬해야 한다면 조건에 맞게 가공된 데이터는 다음과 같습니다.data = [[3,20300401,10,..
[Unreal Engine 5] LAN Connection (C++)
·
Game Programming/UE_Multiplayer
개요우선 본격적인 Online Multiplayer 게임에 대해 공부하기 전에 로컬 네트워크(LAN) 연결을 통해 멀티플레이 게임을 간단히 테스트 해보도록 하겠습니다. LAN(근거리 통신망)은 일반적으로 같은 건물 내에 있는 작은 지리적 영역 내에 포함된 네트워크입니다. 가정용 Wi-Fi 네트워크 등이 이에 속합니다.즉, 이번 시간에는 여러 대의 컴퓨터를 활용해 서버와 클라이언트를 동일한 네트워크(와이파이)에 연결하여 실제 IP주소를 입력하여 정상적으로 동작하는지 간단히 테스트해보도록 하겠습니다.실습3인칭 템플릿으로 생성한 프로젝트의 기본적인 맵(ThirdPersonMap)에서 시작하며, 키보드 입력을 통해 Lobby레벨로 이동하여 멀티플레이 환경을 테스트해보도록 하겠습니다. 1. 2개의 레벨을 준비합니..
[Unreal Engine 5] Multiplayer 개념, Net Mode
·
Game Programming/UE_Multiplayer
개요저는 지금까지 Unreal Engine 5를 사용하여 RPG 장르의 포트폴리오를 제작하였으며, 해당 프로젝트는 팀 프로젝트로 진행하였기에 개인 프로젝트도 하나 있으면 좋겠다는 생각을 하게 되었습니다. 9월 ~ 10월 사이에 열리는 하반기 공채에 지원하기 위해 어떤 프로젝트를 진행하는 것이 좋을까 곰곰히 고민한 결과 아무래도 멀티플레이어 기반의 프로젝트를 진행해보지 않았기에 천천히 Unreal Engine5를 활용하여 멀티플레이어 기반 FPS 장르의 프로젝트를 진행해보기로 마음먹었습니다. 앞으로의 일정을 간단히 요약해보면 다음과 같습니다.7 ~ 8월 : 멀티플레이어 기반의 게임 제작 강의를 들으며 기초 실력 쌓기 + 프로젝트 기획8 ~ 9월 : 프로젝트 제작아무래도 SeSAC 언리얼 과정이 다음주부터 ..
[프로그래머스/C++ 문제 풀이] Lv. 1 - 키패드 누르기
·
코딩테스트/프로그래머스 (Lv. 1)
문제 설명스마트폰 전화 키패드의 각 칸에 다음과 같이 숫자들이 적혀 있습니다.이 전화 키패드에서 왼손과 오른손의 엄지손가락만을 이용해서 숫자만을 입력하려고 합니다.맨 처음 왼손 엄지손가락은 * 키패드에 오른손 엄지손가락은 # 키패드 위치에서 시작하며, 엄지손가락을 사용하는 규칙은 다음과 같습니다.엄지손가락은 상하좌우 4가지 방향으로만 이동할 수 있으며 키패드 이동 한 칸은 거리로 1에 해당합니다.왼쪽 열의 3개의 숫자 1, 4, 7을 입력할 때는 왼손 엄지손가락을 사용합니다.오른쪽 열의 3개의 숫자 3, 6, 9를 입력할 때는 오른손 엄지손가락을 사용합니다.가운데 열의 4개의 숫자 2, 5, 8, 0을 입력할 때는 두 엄지손가락의 현재 키패드의 위치에서 더 가까운 엄지손가락을 사용합니다.4-1. 만약 두..