알고리즘

    11/19 미궁 속의 방

    삼성 코드그라운드에서 제공하는 알고리즘에 관한 개인적인 풀이를 정리했습니다. 아래 사이트에서 직접 풀어보실 수 있습니다. https://www.codeground.org/practice 모든 알고리즘 문제는 C++로 구현되어 있습니다. 이 문제를 처음 봤을때는 전처리를 통해서 미리 맵을 저장 해놓고, 좌표에 따라서 답을 계산하면 될 거라고 생각했다. 하지만 N이 최대 100000까지 들어올 수 있어서 미리 맵을 저장 하면 메모리 제한을 넘어가는 경우가 생겼고, 따라서 다른 방법을 찾아야 했다. 문제를 해결하기 위해 좌표를 만져보던 중, 첫 번째 방을 좌표 (0, 0) 으로 해서 2, 3번째 방을 각각 좌표 (0, 1), (1, 0), 4, 5, 6번째 방을 각각 좌표 (2, 0), (1, 1), (0, ..

    11/18 이항계수의 합

    삼성 코드그라운드에서 제공하는 알고리즘에 관한 개인적인 풀이를 정리했습니다. 아래 사이트에서 직접 풀어보실 수 있습니다. https://www.codeground.org/practice 모든 알고리즘 문제는 C++로 구현되어 있습니다. 이 문제는 먼저 식을 간단하게 하는 과정이 필요하다. 주어진 식은 다음과 같다. $$\sum_{i=0}^{N}\sum_{j=0}^{M}\binom{i+j}{i}=\sum_{i=0}^{N}\left (\binom{i}{i} + \binom{i+1}{i}+\binom{i+2}{i} + \cdot \cdot \cdot + \binom{i+M}{i}\right)$$ 이 식은 이항 계수 법칙 $$\binom{i}{i} + \binom{i+1}{i}+\binom{i+2}{i} + \..

    11/18 다트 게임

    삼성 코드그라운드에서 제공하는 알고리즘에 관한 개인적인 풀이를 정리했습니다. 아래 사이트에서 직접 풀어보실 수 있습니다. https://www.codeground.org/practice 불러오는 중입니다... 모든 알고리즘 문제는 C++로 구현되어 있습니다. 나는 main 메소드 외에 2개의 메소드 getScore(x, y), getSqrt(x, y)를 사용했다. getScore 함수는 다트의 x축을 기준으로 한 각도를 구해서 그 점수를 반환하며, getSqrt(x, y)는 원점에서 (x, y)까지의 거리를 구하여 리턴한다. 각 함수는 다음과 같이 구현되어있다. 각 함수는 다음과 같다. double getSqrt(int x, int y) { return sqrt(x * x + y * y); } getSq..