반응형

전체 글 287

[방탈출] 오늘, 나는 후기

테마 정보 잠에서 깨고 나면, 오늘도 나는 새로운 사람이 되어 하루를 살아간다. https://www.xphobia.net/quest/quest_view.php?qr_id=1547046775 방탈출카페 비트포비아 탈출의 경계를 무너뜨리다, 비트포비아! 방탈출부터 어메이징 던전까지 다양한 어드벤처를 경험해보세요! www.xphobia.net 정보(매장) 난이도 3 / 4 공포도 0 / 5 플레이 타임 : 60분 3인, 4 Hint, 00:39 Left 난이도 2 / 5 전반적으로 쉽고 기출문제가 많은 편이지만, 몇몇 문제는 난이도가 꽤 있다. 진행하다가 3~5분 이상 막힌다면, 힌트를 사용하는 것을 권장한다. 시간제한이 60분이지만 볼륨이 꽤 있기에 시간 압박이 꽤 있다. 초보자들끼리 천천히 진행하다가는 ..

방탈출 2022.07.17

[C++] string 한글 출력

개요 C++에서 string으로 한글을 출력할 때 깨지는 오류가 있었다. 관련해서 디버깅해보던 중에 한글이 2바이트... 인걸 깨닫게 되어 정리해본다. 예제 다음과 같은 코드의 출력 결과는 어떻게 될까? 1의 결과로는 "심"이 출력되고 2의 결과로는 3(심건우가 3글자이므로)이라고 생각하기 쉽다. #include #include using namespace std; int main() { string s = "심건우"; cout

언어/C++ 2022.07.15

[게임 리뷰] 슈퍼 마리오 오디세이

미루고 미루던 마디세이(슈퍼 마리오 오디세이) 엔딩을 드디어 보았다. 메인 스토리만 따라가면 10시간도 안 되어서 금방 클리어할 수 있지만, 레벨 디자인을 무시하는 플레이어인 나로서는 왕국 곳곳에 숨겨진 파워문을 그냥 넘어갈 수 없었다. 그렇게 한 왕국 왕국 클리어하다 보니 마지막 왕국까지 올 수 있었고, 반년이 넘게 걸려 엔딩을 봤다. 마디세이는 슈퍼 마리오 션샤인 이후 15년 만에 나온 샌드박스 탐색형 3D 게임이다. 2D 마리오에서 볼 수 있는 선형적인 진행이 아닌, 플레이어가 클리어 루트를 설계하고 능동적으로 행동하게 된다. 이렇게 목표가 뚜렷히 주어지지 않는 걸 싫어하는 사람도 많지만, 내가 가장 좋아하는 게임 진행방식이기도 하다. 다만, 메인 스토리 진행을 통해 얻을 수 있는 그랜드 문은 항상..

게임/Switch 2022.07.14

[C++] 프로그램 실행 순서

개요 C++의 프로그램 실행 순서에 대해 서술한다. 일반적으로 소스 파일 작성 - 전처리기 - 컴파일 - 링킹 - 로딩 - 실행의 단계를 따른다. 소스 파일 작성 에디터를 사용해 프로그램을 작성한다. 이렇게 C++ 문법에 맞게 작성된 프로그램을 원시 파일, 소스 파일이라고 한다. 소스 파일의 확장자의 대부분은 .cpp가 된다. 전처리 컴파일하기 전에, 컴파일러가 작업하기 좋도록 소스를 재구성한다. 코드를 추가로 생성하지는 않는다. #include에 지정된 내용을 복사하고, #define에 정의된 매크로를 치환한다. #if, #ifdef, #pragma 등의 구문들도 처리한다. 컴파일 컴퓨터는 0과 1만 인식할 수 있기 때문에, 소스 파일을 기계어로 변환해야 한다. 컴파일러는 코드들을 어셈블리어로 바꾸어준..

언어/C++ 2022.07.13

[백준 20055] 컨베이어 벨트 위의 로봇 C++

문제 백준 20055 컨베이어 벨트 위의 로봇 C++ 20055번: 컨베이어 벨트 위의 로봇 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부 www.acmicpc.net 풀이 구현 / 시뮬레이션 문제입니다. 생각보다 코드 구현과정이 어려웠는데, 문제 난이도인 골드 5보다는 어려웠습니다. (골드 4~3급은 된다고 생각) 문제에서 주어진 조건에 따라 1. 벨트가 한 칸 회전한다. 2. 벨트 위의 로봇이 움직일 수 있으면 움직인다. 3. 올리는 칸의 내구도가 0이 아니면 로봇을 올린다. 4. 내구도가 0인 칸이 K개 이상이면 종료한다. 의 4가지 과정을 순서대로..

알고리즘/백준 2022.07.12

[C++] 가상 함수 (virtual)

개요 가상 함수(virtual funcion)란, 자식 클래스에서 재정의할 것으로 예상되는 멤버 함수를 의미한다. 가상 함수는 자신을 호출하는 객체의 타입에 따라 실제 호출할 함수가 결정된다. 부모 클래스에서 virtual을 사용해 가상 함수를 선언하면, 자식 클래스에서 재정의된 멤버 함수도 자동으로 가상 함수가 된다. 선언 virtual FunName(); 동적 바인딩 C++ 컴파일러가 함수를 호출할 때 함수가 어느 블록의 어느 메모리 위치에 있는지 정확히 알고 있어야 한다. 대부분의 함수를 호출하는 코드는 컴파일 타임에 고정된 메모리 주소로 변환된다. 이것을 정적 바인딩(static binding), 초기 바인딩(early binding)이라고 한다. C++에서 가상 함수가 아닌 멤버 함수는 정적 바..

언어/C++ 2022.07.10

[게임 리뷰] 폴 가이즈

처음 출시 때부터 재밌게 했던 게임인데, 이번에 무료로 풀려서 다시 한번 재밌게 플레이했다. 확실히 무료로 풀리니 매칭도 전보다 빨라지고 유입도 많아져 입문 난이도도 완화되었다. 아기자기하면서도 깔끔한 디자인, 간단한 조작에서 나오는 심오한 플레이 등이 매력적이다. 또한 우승했을 때의 짜릿함과 성취감도 잘 설계되어있어 리플레이성을 높여줬다. 매 라운드마다 탈락자 비율도 적당해 너무 빠르게 탈락하지도, 너무 루즈하게 진행되지도 않으면서 다양한 레이스와 생존 게임을 즐길 수 있다. 탈락했을 때의 스트레스도 그렇게 높지 않다는 것도 장점이라고 볼 수 있을듯. 무엇보다도 가장 놀라운 점은 60명에 달하는 플레이어들이 한 화면에서 경쟁하면서도 잔렉이 발생하지 않고 조작감이 좋다는 것이다. 직접적인 비교가 적절하지..

게임/PC 2022.07.08

[Unity] Canvas Scaler (캔버스 스케일러)

개요 캔버스 스케일러는 캔버스 내 UI 요소의 전체적인 스케일과 픽셀 밀도를 제어하는 데 사용된다. Constant Pixel Size, Scale With Screen Size, Constant Physical Size 3개의 종류가 있다. Constant Pixel Size UI 요소가 화면 크기에 관계없이 동일한 픽셀 크기로 유지된다. 따라서 해상도가 커지면 UI 크기는 그대로 이기 때문에 UI가 작아보이고 해상도가 작아질 때도 UI 크기가 그대로이므로 이 때는 UI가 커보이게 된다. 해상도가 커지자 버튼 크기가 작아진 모습을 볼 수 있다. Scale Factor : 캔버스의 모든 UI 요소를 이 배율로 설정한다. Reference Pixels Per Unit : 스프라이트에 Pixels Per U..

게임 엔진/Unity 2022.07.07

[백준 14890] 경사로 C++

문제 백준 14890 경사로 C++ 14890번: 경사로 첫째 줄에 N (2 ≤ N ≤ 100)과 L (1 ≤ L ≤ N)이 주어진다. 둘째 줄부터 N개의 줄에 지도가 주어진다. 각 칸의 높이는 10보다 작거나 같은 자연수이다. www.acmicpc.net 풀이 이해 자체는 어렵지 않은 문제였다. 1. 이차원 배열에 값을 넣어주고 2. 행 / 열을 검사하면서 경사로를 놓을 수 있는지 확인한다. 경사로를 놓을 수 있는지 확인하는 과정은 다음과 같다. 1. 현재 값과 다음 값의 차를 구한다. 2-1) 차가 0인 경우 : 평지이므로 다음 구역으로 넘어간다. 2-2) 차가 1인 경우 : 현재가 더 높다. 따라서 내리막길이 필요하므로 다음 구역부터 그 다음 구역으로 가면서 내리막길을 설치할 수 있는 지 확인한다...

알고리즘/백준 2022.07.04
반응형