전체 글

전체 글

    [Greedy / Gold 5] 2812번: 크게 만들기

    문제 출처 www.acmicpc.net/problem/2812 문제 내용 문제 N자리 숫자가 주어졌을 때, 여기서 숫자 K개를 지워서 얻을 수 있는 가장 큰 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 K가 주어진다. (1 ≤ K < N ≤ 500,000) 둘째 줄에 N자리 숫자가 주어진다. 이 수는 0으로 시작하지 않는다. 출력 입력으로 주어진 숫자에서 K개를 지웠을 때 얻을 수 있는 가장 큰 수를 출력한다. 풀이 K와 N의 크기가 예사롭지 않은 걸 보면 시간복잡도가 O(N+K) 정도 이하여야 한다는 걸 알 수 있다. 그리디 알고리즘을 이용한다는 전제하에 어떤 조건으로 풀어낼 수 있을지 고민했다. 숫자를 하나씩 지워나갈 때마다 항상 가장 큰 수를 만들어나가면 K개를 지워도 가장 큰 수를 알..

    [Greedy / Gold5] 1038번: 감소하는 수

    문제 출처 www.acmicpc.net/problem/1038 문제 내용 문제 음이 아닌 정수 X의 자릿수가 가장 큰 자릿수부터 작은 자릿수까지 감소한다면, 그 수를 감소하는 수라고 한다. 예를 들어, 321과 950은 감소하는 수지만, 322와 958은 아니다. N번째 감소하는 수를 출력하는 프로그램을 작성하시오. 0은 0번째 감소하는 수이고, 1은 1번째 감소하는 수이다. 만약 N번째 감소하는 수가 없다면 -1을 출력한다. 입력 첫째 줄에 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수 또는 0이다. 출력 첫째 줄에 N번째 감소하는 수를 출력한다. 풀이 정수 X가 a 자리 수라고 했을 때, X가 감소하는 수가 되려면 a-1부터 1의 자리수까지 a보다 작은 감소하는 수로 이뤄져있어야 한다..

    [Greedy] 문자열 합치기

    문제 출처 https://algospot.com/judge/problem/read/STRJOIN 문제 내용 문제 프로그래밍 언어 C 의 큰 문제점 중 하나는 언어 차원에서 문자열 변수형을 지원하지 않는다는 것입니다. C 에서는 문자 배열로 문자열을 표현하되 \0 (NULL) 로 문자열의 끝을 지정하는데, 이래서는 문자열의 길이를 쉽게 알 수 있는 방법이 없기 때문에 여러 가지 문제가 발생하게 됩니다. void strcat(char* dest, const char* src) { // dest 의 마지막 위치를 찾는다 while(*dest) ++dest; // src 를 한 글자씩 dest 에 옮겨 붙인다 while(*src) *(dest++) = *(src++); // 문자열의 끝을 알리는 \0 을 추가한..

    [Greedy] 런치박스

    문제 출처 https://algospot.com/judge/problem/read/LUNCHBOX 문제 내용 문제 After suffering from the deficit in summer camp, Ainu7 decided to supply lunch boxes instead of eating outside for Algospot.com winter camp. He contacted the famous packed lunch company "Doosot" to prepare N lunch boxes for N participants. Due to the massive amount of order, Doosot was not able to prepare the same menu. Instead, the..

    Low Poly Watch Tower

    Free to use, edit to any purpose. made by rien

    [Greedy] 출전 순서 정하기

    문제 출처 https://algospot.com/judge/problem/read/MATCHORDER 문제 내용 문제 전세계 최대의 프로그래밍 대회 알고스팟 컵의 결승전이 이틀 앞으로 다가왔습니다. 각 팀은 n명씩의 프로 코더들로 구성되어 있으며, 결승전에서는 각 선수가 한 번씩 출전해 1:1 경기를 벌여 더 많은 승리를 가져가는 팀이 최종적으로 우승하게 됩니다. 각 팀의 감독은 대회 전날, 주최측에 각 선수를 출전시킬 순서를 알려 주어야 합니다. 결승전 이틀 전, 한국팀의 유감독은 첩보를 통해 상대 러시아팀의 출전 순서를 알아냈습니다. 이 대회에서는 각 선수의 실력을 레이팅(rating)으로 표현합니다. 문제를 간단히 하기 위해 1:1 승부에서는 항상 레이팅이 더 높은 선수가 승리하고, 레이팅이 같을 ..

    [활동 후기] 2020 Google Indie Game Festival 유저심사위원단

    활동 기간 : 약 3주 (2020.07) 활동 내용 1. TOP 10 선정 약 일주일 동안 선정된 TOP 20 인디게임을 플레이해보고 그에 대한 평가를 작성한다. 평가는 한줄만 적어도 되는데, 나 같은 경우 게임마다 장점과 단점을 합쳐서 5가지는 작성해서 제출했다. 이렇게 했던 심사위원단이 별로 없었던 탓인지, 심사 내용이 우수하다며 스타벅스 기프티콘을 받았다. 심사평을 제출할 때, 추천할 3개의 게임을 선정하고 이 내용이 TOP10 선정에 영향을 미친다. 2. TOP 3 선정을 위한 라이브 방송 시청 TOP 10 선정이 끝나고 토요일 오후 2시부터 5시까지 인디게임 페스티벌이 진행된다. 각 게임을 만든 개발자들이 순서대로 발표를 진행한다. 이번 해는 안전을 위해 언택트 행사로 진행되었다. 행사엔 전문심..

    [Blender] Humanoid Rigging

    개요 휴머노이드를 모델링하고 본을 넣어서 간단한 애니메이션을 제작했다. 자잘하게 모르는 것이 있어서 검색을 많이 해야 했다. IK(Inverse Kinematic)을 생각보다 쉽게 적용할 수 있었다. Point IK는 Target IK와 Pole IK가 필요하다. Target은 실제로 그것을 움직일 때 필요하고, Pole은 회전을 담당한다. IK는 Pose 모드에서 넣을 수 있다. Weight Auto Paint는 Make Parent에서 옵션으로 실행한다. 이 때, 메쉬를 누르고 아마추어를 눌려서 해야 아마추어가 부모가 된다. 다리뼈를 구성할 때 사진처럼 무릎이 살짝 앞으로 구부러져 있어야 한다. 그래야 IK를 적용했을 때 바른 각도로 구부러진다. Bone Group을 통해 각 Bone의 색깔을 달리할..