전체 글
GIT1
GIT의 3대 목적 버전관리 백업 협업 그리고 이 3가지의 목적은 순서가있다. 앞의 것을 이해하지 못하면 뒤의 것을 이해하지 못한다. 앞의 것은 그것만으로 할 수 있는 일이 많다. 하지만 뒤의 것은 앞의 것에 의존하고 있는 기능이다 앞의 것일수록 쉽고 뒤로 갈수록 기하급수적으로 어려워진다 따라서 앞에서 오래 머물수록 좋다. 버전관리 우리가 만약 hello.txt 라는 파일에 천줄짜리 텍스트가 있다고 해보자. 그리고 다음날 새로운 천줄짜리 작업을 해야하지만, 전으로 돌아갈수도 있어야 한다고 생각해보자. 그러면 우리는 보통 hello.txt를 다른이름으로 저장을 하여 hello2.txt를 생성할 것이다. 마찬가지로 그 다음날 또 작업을 해야한다면 우리는 천줄을 또 추가하고 hello3.txt를 만들것이다. ..
백준 / 브루트포스 / 1436번 / 영화감독 숌 / C++
문제 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워즈를 만들 때, 스타워즈 1, 스타워즈 2, 스타워즈 3, 스타워즈 4, 스타워즈 5, 스타워즈 6과 같이 이름을 지었고, 피터 잭슨은 반지의 제왕을 만들 때, 반지의 제왕 1, 반지의 제왕 2, 반지의 제왕 3과 같이 영화 제목을 지었다. 하지만 숌은 자신이 조지 루카스와 피터 잭슨을 뛰어넘는다는 것을 보여주기 위해서 영화 제목을 좀 다르게 만들기로 했다. 종말의 숫자란 어떤 수에 6이 적어도 3개이상 연속으로 들어가는 수를 말한다. 제일 작은 종말의 숫자는 666이고, 그 다음으로 큰 수는 1666, 2..
백준 / 브루트포스 / 1018번 / 체스판 다시 칠하기 / C++
문제 지민이는 자신의 저택에서 MN개의 단위 정사각형으로 나누어져 있는 M×N 크기의 보드를 찾았다. 어떤 정사각형은 검은색으로 칠해져 있고, 나머지는 흰색으로 칠해져 있다. 지민이는 이 보드를 잘라서 8×8 크기의 체스판으로 만들려고 한다. 체스판은 검은색과 흰색이 번갈아서 칠해져 있어야 한다. 구체적으로, 각 칸이 검은색과 흰색 중 하나로 색칠되어 있고, 변을 공유하는 두 개의 사각형은 다른 색으로 칠해져 있어야 한다. 따라서 이 정의를 따르면 체스판을 색칠하는 경우는 두 가지뿐이다. 하나는 맨 왼쪽 위 칸이 흰색인 경우, 하나는 검은색인 경우이다. 보드가 체스판처럼 칠해져 있다는 보장이 없어서, 지민이는 8×8 크기의 체스판으로 잘라낸 후에 몇 개의 정사각형을 다시 칠해야겠다고 생각했다. 당연히 8..
백준 / 브루트포스 / 7568번 / 덩치 / C++
문제 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩치가 각각 (x, y), (p, q)라고 할 때 x > p 그리고 y > q 이라면 우리는 A의 덩치가 B의 덩치보다 "더 크다"고 말한다. 예를 들어 어떤 A, B 두 사람의 덩치가 각각 (56, 177), (45, 165) 라고 한다면 A의 덩치가 B보다 큰 셈이 된다. 그런데 서로 다른 덩치끼리 크기를 정할 수 없는 경우도 있다. 예를 들어 두 사람 C와 D의 덩치가 각각 (45, 181), (55, 173)이라면 몸무게는 D가 C보다 더 무겁고, 키는 C가 더 크므로, "덩치"로만 볼..
백준 / 브루트포스 / 2798번 / 블랙잭 / C++
문제 카지노에서 제일 인기 있는 게임 블랙잭의 규칙은 상당히 쉽다. 카드의 합이 21을 넘지 않는 한도 내에서, 카드의 합을 최대한 크게 만드는 게임이다. 블랙잭은 카지노마다 다양한 규정이 있다. 한국 최고의 블랙잭 고수 김정인은 새로운 블랙잭 규칙을 만들어 상근, 창영이와 게임하려고 한다. 김정인 버전의 블랙잭에서 각 카드에는 양의 정수가 쓰여 있다. 그 다음, 딜러는 N장의 카드를 모두 숫자가 보이도록 바닥에 놓는다. 그런 후에 딜러는 숫자 M을 크게 외친다. 이제 플레이어는 제한된 시간 안에 N장의 카드 중에서 3장의 카드를 골라야 한다. 블랙잭 변형 게임이기 때문에, 플레이어가 고른 카드의 합은 M을 넘지 않으면서 M과 최대한 가깝게 만들어야 한다. N장의 카드에 써져 있는 숫자가 주어졌을 때, ..
에라토스테네스의 체
에라토스테네스의 체는 고대 그리스 수학자 에라토스테네스가 발견한 소수 구하기 알고리즘이다. 알고리즘 2부터 소수를 구하고자 하는 구간의 모든 수를 나열한다. (위는 120까지가 예시) 짝수 중 유일하게 2는 소수이므로 2는 소수로 체크해준다. (빨간색) 2를 제외한 2의 배수를 모두 지워준다. 3은 소수이므로 3은 소수로 체크해준다.(초록색) 3을 제외한 3의 배수를 모두 지워준다. 5는 소수이므로 5는 소수로 체크해준다.(파란색) 5를 제외한 5의 배수를 모두 지워준다. ... 3~4단계의 과정을 소수를 만날때마다 해주면된다. 간단하게 말해서, 본인이 설정한 범위의 최댓값을 x라고 한다면, 2부터 시작해서 x까지 소수의 배수를 다 지워버리면 된다. 코드(C++)로는 아래와 같이 나타낼 수 있다. voi..