본문 바로가기

[acmicpc.net] 2579 계단 오르기 문제 링크 : https://www.acmicpc.net/problem/2579 문제 내용 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. <그림 1>과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점수를 얻게 된다. 예를 들어 <그림 2>와 같이 시작점에서부터 첫 번째, 두 번째, 네 번째, 여섯 번째, 계단을 밟아 도착점에 도달하면..
[acmicpc.net] 2193 이친수 문제 링크 : https://www.acmicpc.net/problem/2193 문제 내용 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 들 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 1. 이친수는 0으로 시작하지 않는다. 2. 이친수에서는 1이 두 번 연속으로 나타나지 않는다. 즉, 11을 부분 문자열로 갖지 않는다. 예를 들면 1, 10, 10..
[acmicpc.net] 1463 1로 만들기 문제 링크 : https://www.acmicpc.net/problem/1463문제 내용정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다.1. X가 3으로 나누어 떨어지면, 3으로 나눈다.2. X가 2로 나누어 떨어지면, 2로 나눈다.3. 1을 뺀다.정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만드려고 한다. 연산을 사용하는 횟수의 최소값을 출력하시오.소스코드#include <iostream>..
[acmicpc.net] 1149 RGB거리 문제 링크 : https://www.acmicpc.net/problem/1149 문제 내용 RGB거리에 사는 사람들은 집을 빨강, 초록, 파랑중에 하나로 칠하려고 한다. 또한, 그들은 모든 이웃은 같은 색으로 칠할 수 없다는 규칙도 정했다. 집 i의 이웃은 집 i-1과 집 i+1이다. 처음 집과 마지막 집은 이웃이 아니다. 각 집을 빨강으로 칠할 때 드는 비용, 초록으로 칠할 때 드는 비용, 파랑으로 드는 비용이 주어질 때, 모든 집을..
Layer7 CTF 후기 Wargame.kr에 있는 게시판에 Layer7 CTF에 대한 홍보가 있어서 가입을 했다. CTF는 토요일 오전 9시부터 일요일 오전 9시까지 총 24시간 동안 진행되었다. 문제의 경우에는 바이너리, 포렌식, 리버싱, 웹, MICS 이렇게 5가지 분야로 있었다. 일단 바이너리 부분의 경우에는 기초가 안되어 있어서 그런지 한 문제도 풀지 못했다.... 바이너리에 대해 미리 공부해 놓았으면 한 문제라도 풀 수 있었을 텐데 ..
[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)..
SQL Injection 공부하기 웹 해킹을 보면 SQL Injection, XSS, LFI 등의 공격 방법이 있습니다.특히 SQL Injection의 경우에는 성공만 한다면 모든 계정 정보 및 게시판에 대한 모든 정보(비밀 글로 등록한 경우에도)뿐만 아니라 관리자와 같이 행동을 할 수도 있기 때문에 매우 위험한 공격이라고 볼 수도 있습니다.이러한 공격을 막는 가장 쉬운 방법은 쿼리 빌더(Query Builder)를 사용하거나 혹은 쿼리에 값을 넣어서 실행하기 전에 addslashe..
일정 길이의 랜덤 문자열 생성하기 파이썬을 이용해서 일정 길이에 해당하는 랜덤 문자열을 생성하는 코드입니다. 여기서 len에는 원하는 문자열의 길이를 int형으로, characters 부분은 랜덤 문자열을 생성하는데 사용하는 문자들을 리스트 혹은 문자열 형태로 주시면 됩니다. import random def rand_str(len, characters): return "".join([random.choice(characters) for _ in range(len)]) ..