본문 바로가기

2016/09

[acmicpc.net] 1463 1로 만들기 문제 링크 : https://www.acmicpc.net/problem/1463 문제 내용 정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다. 1. X가 3으로 나누어 떨어지면, 3으로 나눈다.2. X가 2로 나누어 떨어지면, 2로 나눈다.3. 1을 뺀다. 정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만드려고 한다. 연산을 사용하는 횟수의 최소값을 출력하시오. 소스코드 #include using namespace std; int main() { int N; int *arr; cin >> N; arr = new int[N+1]; for(int i=0; i
[acmicpc.net] 1149 RGB거리 문제 링크 : https://www.acmicpc.net/problem/1149 문제 내용 RGB거리에 사는 사람들은 집을 빨강, 초록, 파랑중에 하나로 칠하려고 한다. 또한, 그들은 모든 이웃은 같은 색으로 칠할 수 없다는 규칙도 정했다. 집 i의 이웃은 집 i-1과 집 i+1이다. 처음 집과 마지막 집은 이웃이 아니다. 각 집을 빨강으로 칠할 때 드는 비용, 초록으로 칠할 때 드는 비용, 파랑으로 드는 비용이 주어질 때, 모든 집을 칠할 때 드는 비용의 최솟값을 구하는 프로그램을 작성하시오. 소스코드 #include using namespace std; int main() { int **last = new int*[3]; int **val = new int*[3]; int N; cin >> N; fo..
Layer7 CTF 후기 Wargame.kr에 있는 게시판에 Layer7 CTF에 대한 홍보가 있어서 가입을 했다. CTF는 토요일 오전 9시부터 일요일 오전 9시까지 총 24시간 동안 진행되었다. 문제의 경우에는 바이너리, 포렌식, 리버싱, 웹, MICS 이렇게 5가지 분야로 있었다. 일단 바이너리 부분의 경우에는 기초가 안되어 있어서 그런지 한 문제도 풀지 못했다.... 바이너리에 대해 미리 공부해 놓았으면 한 문제라도 풀 수 있었을 텐데 아쉽다. 포렌식의 경우에는 한 문제를 풀었는데, 이미지를 주고 그 이미지를 찍은 사람이 어떤 대회에 참가했는지를 알아내는 문제였다. 이 문제의 경우에는 그냥 사진에서 Meta 데이터를 읽을 수 있는지 묻는 난이도의 문제였다. 사진에 있는 GPS 정보를 이용해서 대강의 위치를 알아내고, 찍힌..
[acmicpc.net] 1003 피보나치 함수 문제 링크 : https://www.acmicpc.net/problem/1003 문제 내용 fibonacci(3)을 호출하면 다음과 같은 일이 일어난다. fibonacci(3)은 fibonacci(2)와 fibonacci(1) (첫 번째 호출)을 호출한다. fibonacci(2)는 fibonacci(1) (두 번째 호출)과 fibonacci(0)을 호출한다. 두 번째 호출한 fibonacci(1)은 1을 출력하고 1을 리턴한다. fibonacci(0)은 0을 출력하고, 0을 리턴한다. fibonacci(2)는 fibonacci(1)과 fibonacci(0)의 결과를 얻고, 1을 리턴한다. 첫 번째 호출한 fibonacci(1)은 1을 출력하고, 1을 리턴한다. fibonacci(3)은 fibonacci(..