포인터가 어렵나요? (네)

0. 서론

C언어를 배우는 사람들에게 C언어의 어떤것이 어렵냐고 물어보면 열에 아홉은 포인터가 어렵다고 합니다.

더 읽기댓글 쓰기

다이나믹 프로그래밍 여러가지 점화식으로 풀어보기

1563번 문제: 개근상 문제를 여러가지 점화식으로 풀어봅시다.

출결사항은 출석, 지각, 결석으로 총 3가지가 있습니다.

개근상을 받을 수 없는 사람은 지각을 두 번 이상 했거나, 결석을 세 번 연속으로 한 사람입니다.

더 읽기댓글 쓰기

Mac/Linux ATOM 에디터에서 환경구성하기

Mac 에서 Atom 으로 환경을 구성해 사용하고 있습니다. 다음의 패키지를 받으면 유용합니다.

  1. linter-gcc : gcc 린터입니다. 적당한 규칙을 적용하고 있습니다. atom 에서 만든 린터의 경우 디폴트로 너무 강한 규칙을 적용하고 있어서 사용하기 좀 불편하더라고요. 주소 : https://atom.io/packages/linter-gcc

  2. terminal-plus : 터미널을 아톰 하단패널에서 사용할수 있습니다. 꽤나 편리합니다. 다만 무한로그가 찍히면 아톰이 뻗어버립니다. ㅡㅡㅋ 주소 : https://atom.io/packages/terminal-plus

더 읽기댓글 쓰기

나머지 연산의 곱셈 역원

정수 $a$$m$으로 나눈 나머지 연산의 곱셈 역원은 $a \times a^{-1} \equiv 1 \pmod m$을 만족하는 $a^{-1}$을 말합니다.

즉, $a^{-1} \equiv x \pmod m$을 만족하는 $x$를 말합니다.

역원은 $a$$m$이 서로소인 경우에만 존재합니다.

더 읽기댓글 쓰기

피보나치 수를 구하는 여러가지 방법

피보나치 수는 다음과 같이 정의되는 수열입니다.

  • $F_0 = 0$
  • $F_1 = 1$
  • $F_n = F_{n-1} + F_{n-2}$

피보나치 수를 조금 써보면, 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ... 와 같습니다.

더 읽기댓글 쓰기

점 3개의 방향성을 나타내는 CCW

세 점 P1(x1, y1), P2(x2, y2), P3(x3, y3)가 있을 떄, 점 3개를 이은 선분은 어떤 방향성을 나타내게 될까요? 11758번 문제: CCW

가능한 경우의 수는 총 3가지가 있습니다. 반시계 방향, 시계 방향, 일직선. 시계 방향을 -1, 일직선을 0, 반시계 방향을 1이라고 했을 때, P1은 검정색, P2는 초록색, P3을 파란색으로 나타내면 아래 그림과 같습니다.

더 읽기댓글 쓰기

세그먼트 트리 나중에 업데이트 해야지!

글이 업데이트 되었습니다. https://book.acmicpc.net/ds/segment-tree-lazy-propagation

더 읽기댓글 쓰기

가장 가까운 두 점 찾기

가장 가까운 두 점 찾기 문제는 2차원 평면 위에 점 N개가 있을 때, 거리가 가장 가까운 두 점을 찾는 문제입니다. (2261번 문제: 가장 가까운 두 점)

N이 작은 경우에는 모든 경우를 다해보는 방식을 이용해서 구현할 수 있습니다.

#include <cstdio>
int x[100000];
int y[100000];
int dist(int x1, int y1, int x2, int y2) {
    return (x1-x2)*(x1-x2) + (y1-y2)*(y1-y2);
}
int main() {
    int n;
    scanf("%d",&n);
    for (int i=0; i<n; i++) {
        scanf("%d %d",&x[i],&y[i]);
    }
    int ans = -1;
    for (int i=0; i<n-1; i++) {
        for (int j=i+1; j<n; j++) {
            int d = dist(x[i],y[i],x[j],y[j]);
            if (ans == -1 || ans > d) {
                ans = d;
            }
        }
    }
    printf("%d\n",ans);
    return 0;
}

더 읽기댓글 쓰기

Sublime Text 설치부터 C++ 빌드하기

0. Sublime Text란?

더 읽기댓글 쓰기

Codeforces Round #327 Div.2 참가 후기

일기형식으로 글을 써보겠습니다.

시간은 일요일 오후 6시.

아침부터 알고리즘 강의를 10~1, 2~5시를 하고나서 저녁도 못먹고 참가하는 대회이고, 졸려 죽겠어서 참가할지 말지 고민을 엄청많이 했지만, 일단 참가를 하기로 결정했다.

더 읽기댓글 쓰기