[백준 / C++] 뱀과 사다리 게임 (골드 5, 16928)
·
코딩테스트/백준 (Study)
https://www.acmicpc.net/problem/16928문제뱀과 사다리 게임을 즐겨 하는 큐브러버는 어느 날 궁금한 점이 생겼다.주사위를 조작해 내가 원하는 수가 나오게 만들 수 있다면, 최소 몇 번만에 도착점에 도착할 수 있을까?게임은 정육면체 주사위를 사용하며, 주사위의 각 면에는 1부터 6까지 수가 하나씩 적혀있다. 게임은 크기가 10×10이고, 총 100개의 칸으로 나누어져 있는 보드판에서 진행된다. 보드판에는 1부터 100까지 수가 하나씩 순서대로 적혀져 있다.플레이어는 주사위를 굴려 나온 수만큼 이동해야 한다. 예를 들어, 플레이어가 i번 칸에 있고, 주사위를 굴려 나온 수가 4라면, i+4번 칸으로 이동해야 한다. 만약 주사위를 굴린 결과가 100번 칸을 넘어간다면 이동할 수 없다..
[백준 / C++] 트리의 부모 찾기 (실버 2, 11725)
·
코딩테스트/백준 (Study)
https://www.acmicpc.net/problem/11725문제루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오.입력첫째 줄에 노드의 개수 N (2 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N-1개의 줄에 트리 상에서 연결된 두 정점이 주어진다.출력첫째 줄부터 N-1개의 줄에 각 노드의 부모 노드 번호를 2번 노드부터 순서대로 출력한다.예제 입력 171 66 33 54 12 44 7예제 출력 1461314예제 입력 2121 21 32 43 53 64 74 85 95 106 116 12예제 출력 211233445566문제 풀이이 문제는 트리 구조에서 부모 노드를 찾는 전형적인 문제로, DFS(깊이 우선 탐색)를 이용하여 ..
[UE Team Project/T.A.] 13. 프로젝트 마무리 (최종)
·
프로젝트/TimelessAdventure
정리청년취업사관학교(SeSAC)에서의 두번째 C++ 프로젝트를 마무리 짓게 되었습니다. (09.11 - 10.08) 이번 프로젝트는 개발 실력 향상을 위해 모두가 같은 코드를 작업하고 잘된 것을 뽑아 취합하는 특이한 프로젝트였습니다. 모두가 같은 내용을 작업하다 보니 결국 전체 프로젝트를 혼자 만드는 것과 비슷한 개발 시간이 필요했으며, 이를 위해 일정 관리가 필수적이였습니다. 노션을 통해 간트 차트를 제작하여 나름 열심히 관리한다고 해보았지만, 다른 팀원분들은 거의 처음 해보는 작업이 대다수였기에 예상 작업 시간을 정확히 예측하지 못해 일정이 지연되었고, 결국 완성된 제 결과물을 대부분 사용하게 되었습니다. 마지막으로 프로젝트를 진행하며 아쉬웠던 점을 정리해보면 다음과 같습니다.작업 인원/기간에 비해 ..
[UE Team Project/T.A.] 11. Boss AI
·
프로젝트/TimelessAdventure
개요지금까지는 전부 팀원 개개인별로 같은 내용을 제작하고, 가장 좋은 결과물을 뽑는 방식으로 진행했습니다. 하지만 프로젝트 기한이 얼마 남지 않은 시점에서, 팀원들 전부 구현을 마무리짓지 못해 제가 만든 코드만 사용하다 보니,, 개인 프로젝트가 될 것 같아 이후부터는 작업을 나눠 진행하게 되었습니다. 남은 부분은 몬스터(일반 몬스터, 보스 몬스터), 기믹(시간 정지, 그랩)이며 팀원들이 선택하지 않은 보스 몬스터를 제가 맡아 구현하게 되었습니다. 그래서 이번 포스팅에서는 보스 몬스터에 대해 정리해보도록 하겠습니다.보스 구현 아이디어 설명학원 수업에서는 AI와 관련된 부분을 블루프린트로 진행했지만, 몬스터를 처음 작업해보기에 C++을 활용해 Task, Service, Decorator 노드 등을 제작해 볼..
[백준 / C++] 공주님의 정원 (골드3, 2457)
·
코딩테스트/백준 (Study)
https://www.acmicpc.net/problem/2457문제오늘은 공주님이 태어난 경사스러운 날이다. 왕은 이 날을 기념하기 위해 늘 꽃이 피어있는 작은 정원을 만들기로 결정했다.총 N개의 꽃이 있는 데, 꽃은 모두 같은 해에 피어서 같은 해에 진다. 하나의 꽃은 피는 날과 지는 날이 정해져 있다. 예를 들어, 5월 8일 피어서 6월 13일 지는 꽃은 5월 8일부터 6월 12일까지는 꽃이 피어 있고, 6월 13일을 포함하여 이후로는 꽃을 볼 수 없다는 의미이다. (올해는 4, 6, 9, 11월은 30일까지 있고, 1, 3, 5, 7, 8, 10, 12월은 31일까지 있으며, 2월은 28일까지만 있다.)이러한 N개의 꽃들 중에서 다음의 두 조건을 만족하는 꽃들을 선택하고 싶다.공주가 가장 좋아하는..
[백준 / C++] 파티 (골드3, 1238)
·
코딩테스트/백준 (Study)
문제N개의 숫자로 구분된 각각의 마을에 한 명의 학생이 살고 있다.어느 날 이 N명의 학생이 X (1 ≤ X ≤ N)번 마을에 모여서 파티를 벌이기로 했다. 이 마을 사이에는 총 M개의 단방향 도로들이 있고 i번째 길을 지나는데 Ti(1 ≤ Ti ≤ 100)의 시간을 소비한다.각각의 학생들은 파티에 참석하기 위해 걸어가서 다시 그들의 마을로 돌아와야 한다. 하지만 이 학생들은 워낙 게을러서 최단 시간에 오고 가기를 원한다.이 도로들은 단방향이기 때문에 아마 그들이 오고 가는 길이 다를지도 모른다. N명의 학생들 중 오고 가는데 가장 많은 시간을 소비하는 학생은 누구일지 구하여라.입력첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 10,000), X가 공백으로 구분되어 입력된다. 두 번째 줄부..
[UE Project / FruitsPuzzle] 2. Tile & Texture Manager
·
프로젝트/FruitsPuzzle
개요이번 포스팅에서는 퍼즐의 기본이 되는 타일과, 타일에 입혀지는 텍스처를 관리하기 위한 텍스처 매니저에 대해 정리해보도록 하겠습니다.Tile 구현 아이디어타일은 개별적으로 생성되며, 생성과 동시에 타일의 타입과 인덱스를 지정받아 현재 자신의 타입에 따라 텍스처를 업데이트하도록 만들고 싶었습니다. 일반적으로 생각했을 때, 타일에 Texture의 배열을 만들고 현재 타일의 타입에 따라 배열에서 값을 선택해 적용시켜줄 수 있지만, 타일의 개수가 많아지게 되면 굳이 중복되는 불필요한 데이터(타일별 Texture배열)를 가지게 됩니다. 즉, Texture를 관리하는 Manager 클래스를 만들어 시작과 동시에 Texture Manager에 접근해 빠르게 원하는 Texture만을 뽑아오게 만들었습니다. 다음으로는..
[UE Project / FruitsPuzzle] 1. 프로젝트 개요
·
프로젝트/FruitsPuzzle
개요안녕하세요, 이번 포스팅에서는 청년취업사관학교(SeSAC)에서 수강한 언리얼 엔진 과정 1Day 개인 프로젝트에 대해 이야기해보겠습니다.프로젝트 개요 및 특이점이번에는 네트워크 수업으로 넘어가기 전 넥토리얼 및 넷마블 등등 여러 인턴을 준비하는 시간에 맞춰 간단히 하루동안 코딩실력에 도움이 되는 퍼즐 게임을 제작하게 되었습니다. 강사님이 요구하신 프로젝트에 포함되어야 할 기획은 다음과 같습니다. 위 기획을 바탕으로 10/14 ~ 10/15일 하루간 열심히 작업한 결과물에 대해 앞으로 정리해보고자 합니다.