본문 바로가기

분류 전체보기

(80)
C++ 피보나치 수열 12345678910111213141516171819202122232425262728293031323334353637383940#include using namespace std; void fibo(int n){ if (n >= 1){ cout
이진탐색(binary search) N = int(input("입력하신 값의 위치를 출력하겠습니다. 입력해주세요: ")) a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] def binary(n): global a minn = 0 maxx = len(a)-1 cnt = 0 while True: mid = int((minn + maxx) / 2) cnt += 1 if a[mid] == n: break elif a[mid] > n: maxx = mid-1 elif a[mid]
하노이탑(재귀) Python cnt = 0 def hanoimove(num, fromm, by, to): global cnt cnt += 1 if num == 1: #print("%d이 %c에서 %c로 이동 " % (num, fromm, to)) print("%c -> %c" % (fromm, to)) else: hanoimove(num-1, fromm, to, by) #print("%d이 %c에서 %c로 이동 " % (num, fromm, to)) print("%c -> %c" % (fromm, to)) hanoimove(num-1, by, fromm, to) hanoimove(4,'A','B','C') print(cnt)
[백준] 2839 설탕문제 Java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 import java.util.Scanner; public class Main { public static void main(String[] args) throws Exception { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int five = 0; int three = 0; while(N%5!=0&&N>=0){ N-=3; three++; } if(N
[Algorithm] 01. 이진 검색 알고리즘 테스트 Binary Search Algorithm Test (python) 워게임 사이트에서 문제를 풀면서 블라인드 SQL Injection으로 패스워드를 찾는 과정에서 python을 이용하여 문제를 푸는 과정을 반복하게 되는 일이 생겼다. 아직 파이썬이라는 언어에 대해서 자신있게 사용하기 보다는 아는것만 활용할 수 있는 정도에 수준이지만, 효율적으로 패스워드를 찾기 위해 이진검색(Binary Search)라는 알고리즘을 이용하면 좋겠다라고 생각하였다. 이진검색 알고리즘에 대해서 간략하게 설명한다면, "어떤 범위내의 시작 값과 마지막 값이 존재하고 그 사이의 중간값(평균값)을 기준으로 반복적으로 비교하며 찾고자 하는 값의 위치를 찾는 것"이라고 '수알못'이 조심스럽게 정리를 할 수 있다. ex) "Start 부터 End 까지 원하는 숫자가 위치하는 곳을 알아야 한다." 순차검색..
[webhacking.kr] 02. 2번 문제 webhacking.kr의 2번 문제이다. webhacking.kr을 시작한다고 했을 때 주변에서 이 문제가 실제로 CTF에서도 나왔을 정도로 잘 만들어진 문제(어느 CTF에서 나왔는지는 모름)이고 괜찮은 내용을 다루고 있다고 익히들었다. 물론 현재 작성하고 있을 때보다 이전에 해결한 문제이지만 현재 이 게시글을 쓰면서 되돌아보니 재미있고, 잘 만들어진 문제라고 하는게 어느정도 이해가 되니 흐뭇하다. 간단하게 얘기하면 해당 문제는 블라인드 SQL Injection라고 단정 짓기에는 그렇지만 나는 Blind SQL Injection 문제라고 생각하고 문제를 해결하였다. 먼저 SQL Injection이 가능한 포인트 부분으로 페이지를 접속하면 쿠키 time의 존재와 문제 메인 페이지의 소스보기를 통해 타임 ..
[webhacking.kr] 01. 1번 문제 webhacking.kr 1번 문제이다. 처음 1번 문제를 클릭하면 다음과 같은 내용이 나와 index.phps로 이동해야만 할 것 같다. index.phps로 이동하면 간단한 문제의 소스코드가 나온다. 문제를 보면 간단히 if문 3개를 보면 된다.첫번째 if문 user_lv의 값이 0~9 사이의 값인 경우 user_lv 쿠키 값은 1로 설정두번째 if문 user_lv의 값이 6 이상의 값인 경우 user_lv 쿠키 값은 1로 설정세번째 if문 user_lv의 값이 5이상이면 문제해결 해당 소스를 보는 상황이면 페이지 접속이후 쿠키 값이 설정이 되었고 쿠키 값을 확인해보면 user_lv의 값이 1인 것을 확인할 수 있다. (크롬의 EditThisCookie를 사용하였다.) 세번째 if문을 보면 user_..
Write up Start(Webhacking.kr으로...) 2018년 올해 초 웹 워게임을 처음 시작하게된 webhacking.kr..진작에 라이트업을 올리고도 충분히 남을 시간이 지났지만, 사실 글쓰기에 익숙하지 않던 내가 선뜻 블로그를 해야겠다고 다짐만 했고 쓰지는 못했다... 반성... 오늘부터 그동안 풀어왔던, 또는 현재 진행하고 있는 워게임(Web 다른분야는 아직 엄두도...) 문제 풀이 라이트업을 올리려고 마음을 드디어 먹고 행동에 옮기게 되었다. 날짜를 보니 무려 7개월이 지난 1월 8일... 1월8일부터 2월11일까지 했던 것으로 알 수 있다.. 중간에 빠진 문제들은 포트포워딩 설정을 해야 하는 문제라 건너뛰었고.. 몇개의 문제는 이상한거 같아 빠진 문제들이 있다. 라이트업을 쓰면서 중간에 빠진 문제들도 풀어보고, 내 기억속에서 잊혀진 문제들을 보..