Skip to content

Instantly share code, notes, and snippets.

View riemannulus's full-sized avatar
🏖️
State of drift in the sea of infomatik

Lee, Suho riemannulus

🏖️
State of drift in the sea of infomatik
View GitHub Profile
#include <iostream>
/*
이 문제는 정수 n이 1, 2, 3의 조합으로 나타내는 문제이다.
n을 (n-1) + 1, (n-2) + 2, (n-3) + 3의 세 가지 방법으로 나타낼 수 있으므로
이 문제는 다이나믹 프로그래밍(DP)를 이용해서 풀 수 있다.
D[n] = n이 1, 2, 3의 덧셈 조합으로 나올 수 있는 경우의 수
#include <iostream>
#include <algorithm>
/*
이 문제는 n개의 붕어빵을 팔아서 얻을 수 있는 최대 수익을 구하는 문제이다.
붕어빵을 팔 때는 (1, 2, 3... n)개를 묶어서 팔 경우 세트 메뉴 가격을 따로 받는다.
P[i] = 붕어빵 i 개를 한 번에 팔 때 얻는 수익
D[n] = 붕어빵 n 개를 팔아서 얻을 수 있는 최대 수익
#include <iostream>
#include <string>
using namespace std;
/*
이 문제는 스택을 이용해서 푸는 게 정석이나, 인접한 괄호만을 검사한다는 점을 이용하여
스택을 사용하지 않고 문제를 풀 수 있다.
문자열을 받아, 처음부터 검사한다. (가 나올 경우 변수의 값을 1 올린다, )가 나올 경우 변수의 값을 1 내린다.
#include <iostream>
#include <math.h>
/*
이 문제는 중점 2개와 반지름 2개를 받아, 두 원의 교점의 갯수를 구하는 문제이다.
두 원의 교점을 구하기 위해서는, 두 원의 중점간의 거리를 구할 필요가 있다.
점간의 거리를 구하는 수식은 root(pow(x2 - x1, 2) + pow(y2 - y1, 2)) 이며, 값을 t라고 하자.
두 원의 반지름의 합을 d라고 할 때, 경우의 수를 살펴보면.
#include <iostream>
/*
이 문제는 큰 타일의 마지막 부분을 보고
하부의 작은 여러 문제로 나눌 수 있다.
따라서 DP로 풀 수 있음.
D[n] = 2xN 크기의 직사각형을 1x2, 2x1로 채우는 방법의 수
@riemannulus
riemannulus / 11727.cpp
Created July 3, 2017 18:30
2xN Tiling_2
#include <iostream>
/*
https://www.acmicpc.net/problem/11726 와 다를 바 없는 문제.
이 문제는 큰 타일의 마지막 부분을 보고
하부의 작은 여러 문제로 나눌 수 있다.
따라서 DP로 풀 수 있음.
D[n] = 2xN 크기의 직사각형을 1x2, 2x1, 2x2로 채우는 방법의 수
#include <iostream>
/*
불필요한 설명은 제외함
*/
using namespace std;
int main()
{
@riemannulus
riemannulus / 2442.py
Created July 3, 2017 18:41
Pointing a Star - 5
#include <iostream>
/*
역삼각형 모양의 공백을 출력 후 2*n-1 개의 별을 출력하면 되는 문제
*/
using namespace std;
@riemannulus
riemannulus / 2444.py
Created July 4, 2017 11:37
Pointing a Star - 7
#include <iostream>
using namespace std;
/*
2442번 문제를 2번 반복하면 되는 문제이다
수행시간은 O(n^2)
*/
int main()
{
@riemannulus
riemannulus / keybase.md
Created April 18, 2019 14:08
keybase.md

Keybase proof

I hereby claim:

  • I am riemannulus on github.
  • I am riemannulus (https://keybase.io/riemannulus) on keybase.
  • I have a public key ASAd_FhiK4sqZG8IN54qYgQQo6gNXRL4hS5nKCKkAsnm0Ao

To claim this, I am signing this object: