반응형

전체 글 286

[백준 4811] 알약 C++

문제 백준 4811 알약 C++ 4811번: 알약 입력은 최대 1000개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄이며, 병에 들어있는 약의 개수 N ≤ 30 가 주어진다. 입력의 마지막 줄에는 0이 하나 주어진다. www.acmicpc.net 풀이 Top-down 방식의 dp를 이용한다. 알약을 꺼낼 때, 경우의 수는 다음과 같다. (반 개 짜리는 h, 한 개 짜리는 w로 지칭한다.) dp[w][h]는 한 개 짜리가 w, 반 개 짜리가 h만큼 있는 경우 알약을 먹을 수 있는 가짓 수를 뜻한다. 1. w != 0, h != 0인 경우 1-1. w를 먹는다. h가 한 개 늘어나고 w는 1 줄어든다. 그 후에 dp[w-1][h+1] 만큼의 경우의 수가 생긴다. 1-2. h를 먹는다. h가 ..

알고리즘/백준 2023.05.15

[백준 2302] 극장 좌석 C++

문제 백준 2302 극장 좌석 C++ 2302번: 극장 좌석 주어진 조건을 만족하면서 사람들이 좌석에 앉을 수 있는 방법의 가짓수를 출력한다. 방법의 가짓수는 2,000,000,000을 넘지 않는다. (2,000,000,000 < 231-1) www.acmicpc.net 풀이 처음에 dp인지 완전탐색인지 헷갈렸던 문제 최대 21억 개의 가짓 수가 있는 것 보고 dp일거 같았다. 자신의 번호와 다른 자리에 앉을 때는, 항상 그 사람과 나의 자리를 바꿔서 앉는다는 것에 초점을 두고 고민했다. 1, 2, 3 세 명을 자리에 앉힌다고 가정하자. 1과 2, 2와 3을 서로 바꿔 앉게 할 수 있다. 1, 2를 먼저 앉힐 때 1 2 또는 2 1이 가능하다. 이 때 3을 앉힐 때 1 2 뒤에 3을 앉혀 1 2 3을 만..

알고리즘/백준 2023.05.11

[Unreal] 마우스 움직임에 따라 카메라 이동시키기

개요 언리얼 엔진에서 마우스 움직임에 따라 카메라를 이동시키는 방법을 설명한다. 본문 먼저 마우스 입력 축을 만들어줘야 한다. 편집 - 프로젝트 세팅으로 들어간다. 왼쪽 입력에서 마우스 X, Y에 대한 입력 축을 만들어준다. (여기서 이름은 Turn과 LookUp으로 지정) 플레이어 컨트롤 SpringArm과 Camera 컴포넌트를 추가한다. Target Arm Length(타깃 암 길이)를 수정하면 액터와 카메라 간의 거리 조절을 할 수 있다. 타겟으로한 액터의 컨트롤러로 들어가서 LookUp(상하)에 Ptich, Turn(좌우)에 Yaw를 각각 매핑한다. 여기까지하면 카메라가 액터를 따라다니게 된다. 마우스 회전에 따라 카메라도 회전하게 하고 싶다면(FPS 방식) Spring Arm 컴포넌트로 가서 ..

[Unreal] 데디케이티드 서버 셋팅

개요 언리얼 엔진에서 데디케이티드 서버를 셋팅하는 방법을 서술한다. 소스 코드 다운로드 먼저 소스 코드를 에픽게임즈 Github에서 받아야한다. https://github.com/EpicGames/UnrealEngine GitHub와 에픽 계정을 연동하지 않은 채로 위 주소로 들어가면 404에러가 뜬다. 따라서 먼저 에픽 계정을 GitHub에 연동해야 한다. https://www.unrealengine.com/ko/ue-on-github GitHub 내 언리얼 엔진 GitHub에서 언리얼 엔진 소스 코드에 액세스하는 방법을 알아보세요 www.unrealengine.com 위 링크에서 에픽 계정으로 로그인 한다. 오른쪽 위 다운로드 옆 계정을 눌러 드롭다운 메뉴를 확인한다. 앱 및 계정 - GITHUB 연..

[방탈출] 오드리(Audrey) 후기

테마 정보 어느날 갑자기 온 편지 -도와주세요! 나쁜 장난감들이 인간을 공격하려고 해요!- 편지를 보낸 곳은 이미 문을 닫아버린 장난감공장. 자세히 보니까 이 곳은 나도 장난감을 샀던 곳이잖아? 호기심을 참지 못하고 어두운 밤 장난감 공장에 잠입하게 되는데... http://hidden-switch.com/themeinfo/ 히든스위치 - 테마안내 일산 3개 테마 - 동화술사의집,신입사원,폐가:오퍼링 홍대 2개 프리미엄 테마 - AUDREY(오드리) , MISSING(미씽) hidden-switch.com 정보(매장) 판타지 / 난이도 (3/5) / 75분 / 장치비율 80% 3인, 0 Hint, 9:48 Left 난이도 1.5/5 장치 위주의 방이기 때문에, 조작만 잘 할 수 있다면 그렇게 어려운 문제..

방탈출 2023.03.30

[Unreal] 콘텐츠 브라우저에서 C++ 클래스가 보이지 않을 때

개요 콘텐츠 브라우저에서 C++ 클래스가 보이지 않을 때 해결책을 서술한다. 문제 상황 언리얼 솔루션에는 헤더 파일과 cpp파일이 올바른 경로에 있는데 콘텐츠 브라우저 창에서는 제대로 보이지 않는 문제점이 있었다. 어이없는 실수...였는데 새 C++ 클래스를 생성하거나, 기존 클래스 내용을 변경한 경우 언리얼 엔진을 다시 빌드하지 않으면 콘텐츠 브라우저에 나타나지 않을 수 있다는 것이었다. 컴파일을 다시 해주면 정상적으로 파일이 나타나는 것을 확인할 수 있었다. 유입 키워드 언리얼 C++ 클래스 안보임, 언리얼 C++ 클래스 사라짐

언어/C++ 2023.03.28

[Unreal Perforce] 퍼포스로 언리얼 소스 컨트롤 하기

개요 Perforce를 통해 Unreal 엔진의 소스 컨트롤을 사용하는 방법에 대해 서술한다. 서버에서 프로젝트 변경사항 받기 P4V를 실행한다. 서버 및 유저, 워크스페이스를 설정한뒤 OK 버튼을 누른다. 창이 뜨면, 최상위 폴더를 클릭한 뒤 Get Latest를 누른다. 이 떄 반드시 최상위 폴더를 클릭해줘야 한다. 다른 폴더가 클릭되어 있으면 해당 폴더의 최신 내용만 받아오기 때문 언리얼 프로젝트에서 소스 컨트롤 접속하기 프로젝트 변경사항을 서버에 보내기 위해서는 먼저 소스 컨트롤에 접속해야 한다. 언리얼 프로젝트를 실행하고, 우하단에 소스 컨트롤에 접속을 클릭한다. Perforce에서 설정한 서버, 사용자명, 워크스페이스를 소스 컨트롤 로그인 창에도 동일하게 등록한다. 그 후, 세팅 수락 버튼을 ..

[C++] 미정의 동작

개요 C++에서의 미정의 동작에 대해 설명한다. 미정의 동작 C++에서 미정의 동작은 C++ 언어 표준에 정의 되지 않은 동작을 말한다. 이러한 동작은 운영 체제, 컴파일러, 실행 환경에 따라 결과가 달라질 수 있는 예측할 수 없는 동작을 일으킨다. 예측할 수 없는 동작이 발생하면 프로그램이 비정상적으로 종료되거나, 다른 변수나 객체의 값이 변경되거나, 잘못된 값이 반환될 수 있다. 미정의 동작 발생 상황 미정의 동작이 발생할 수 있는 상황은 다음과 같다. 1. Double-free : 이미 해제된 메모리를 다시 해제하는 경우 발생한다. 동일한 메모리 블록을 두 번 해제하려는 시도를 한다면 시스템에서 예측할 수 없는 결과가 발생할 수 있다. 2. Dangling pointer : 이미 해제된 메모리를 가..

언어/C++ 2023.03.21

면접 대비... (작성 중)

shared_ptr 문제점, 해결 방안 깊은복사 얕은복사 메모리 단편화 원인, 해결책 메가 인티저(비트 밀림?) 포인터에서 const 위치 쓰레드 데드락 발생 상황 멀티스레드 임계영역, 스레드 무한 대기상태 컨텍스트 스위칭 시스템 콜 branch prediction instruct pipelining push_back, emplace_back 맵, 해시맵(map, unoreded_map) 트리 순회 gcd 문제[ (최대공약수, 최소공배수) 사원수 짐벌락 벡터 내적, 외적 사용처 렌더링 파이프라인 NDC 알파테스팅, 알파 블렌딩, 알파소팅 깊이버퍼 arctam(x), arctan2(y, x) 메모리 영역 프로세스 스레드 캐시 메모리의 존재 이유 float에서 오차가 생기는 이유 메모리풀 call by po..

CS 2023.03.20

[보드게임] 킹도미노(Kingdomino) 후기

보드게임 정보 출시년도 : 2016년 긱 평점 : 7.3 긱 웨이팅 : 1.22 플레이 가능 인원 : 2~4인 (긱 : 2인, 4인 추천) 설명 보드라이브 https://www.youtube.com/watch?v=Ib0HGvqw9jQ&t=119s 분석 4인플 시에 룰이 상당히 인상깊은데, 지금 내가 비싸고 좋은 타일을 고르면 다음 차례에 안 좋은 타일을 고르게 되는 점이 매력있었다. 5x5 타일을 채우므로 총 25칸을 채워야 하는데, 시작 칸이 1칸이고 타일마다 2칸을 차지하므로 12개씩 타일을 먹으면 게임이 종료된다. 욕심을 부릴 때와 다음 턴을 기약할 때를 잘 선택하는 것이 중요한 전략으로 작용한다. 컴포넌트 타일이 나무??로 되어있는거 같은데 놓는 맛이 살아있었다. 왕국은 좀... 조립하기 불편했다..

보드게임 2023.03.19
반응형