분류 전체보기
-
백준 1110_더하기 사이클알고리즘/백준 2020. 10. 9. 10:24
https://www.acmicpc.net/problem/1110 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net #include int return_n(int p, int q){ return q*10 + (p+q)%10; } int main() { int N,n; //N 0~99 int a,b; //ab int clen=0; scanf("%d", &N); n=N; do{ a=n/10; b=n%10; n=return_n(a,b); clen++; }while(N!=n); printf("%d\n",..
-
백준 2193_이친수알고리즘/백준 2020. 8. 17. 10:46
https://www.acmicpc.net/problem/2193 2193번: 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않 www.acmicpc.net 손으로 끄적거리다보면 피보나치수열과 비슷함을 알 수 있다. 1 1 2 3 5 7 ... #include int main(){ int i,n; int result=1, a=1, b=1; scanf("%d",&n); for(i=2;i
-
백준 1463_1로 만들기알고리즘/백준 2020. 8. 17. 10:25
1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 동적계획법을 사용한 문제 Top_down 재귀문을 사용해 풀이하면... n에 대해 min(3또는 2로 나눈 경우, n-1의 경우)에서 작은 값만을 선택해가면서 답을 구할 수 있다. ex) 10 10은 2로 나누어지기 떄문에 min(make_1(5), make_1(9)) 5는 1+make_1(4) 9는 1+min(make_1(3), make_1(8)) ... 10 -> 9 -> 3 -> 1 결과값 : 4 #include int min(int a, int b){ return a > b ? b : a; //최소값 return } int make_1(int n){ if(n==1) r..
-
Dynamic Programming알고리즘/백준 2020. 8. 9. 15:31
동적 계획법 - 큰 문제를 작은 문제로 나누어 푸는 알고리즘이다. 작은 문제들을 해결한 뒤, 해당 답을 저장해놓고 그보다 큰 문제를 풀이하는데 앞서 저장해둔 값들을 활용해 풀어나간다. DP(Dynamic Programming)을 사용 조건 1. 작은 문제로 쪼갤 수 있다. 2. 작은 문제에서 구한 값은 큰 문제를 풀이할 때도 동일한 값이여야 한다. 이때, 메모이제이션(Memoization)이 활용된다. +Memoization : 계산한 값을 메모리에 저장해두고, 여러번 같은 값 계산을 피하는 최적화 기법(실행속도를 높이고, 메모리를 절약할 수 있다.) EX) Fibonacci수열 피보나치 수열은 1, 1, 2, 3, 5, 8, 13, 21 ... 의 수열이다. 즉, fibo(3) = fibo(2) + f..
-
Loose comparison, Magic HashSecurity/Web보안 2020. 8. 4. 20:08
PHP에서의 느슨한 비교 PHP에서는 type juggling(스스로 type을 변환)이 작동한다. 엄격한 비교 (===)에서는 자료형과 값이 모두 같아야 TRUE를 반환한다. 하지만, 느슨한 비교 (==)에서는 값만 같아도 TRUE가 반환된다. - Magic Hashes 비교 연산시 다른 값이 타입 저글링에 의해 같은 값으로 인식되게 하는 것 특수한 경우, '0e'로 시작하는 문자열일 때 가능 지수를 표현할 때는 5*10^2 를 5e2 라고 표기한다. php에서 '0e'로 시작하는 문자열의 뒤가 모두 숫자일경우 ex) 0e1234, 0e823 ... 에는 php상에서 float 형태로 인식하게 된다. $a="0e123" $b="0e456" $a == $b의 결과는 TRUE가 나오게된다. 두 변수가 st..
-
Local File InclusionSecurity/Web보안 2020. 8. 2. 15:29
로컬 파일 포함 공격할 파일이 공격대상 서버에 존재, https://godhaword.tistory.com/102 LFI(Local File Inclusion)란? 네 안녕하세요. Godhaword 입니다. 일단 즐거운 추석되세요 꾸뻑(__) 오늘은 Local File Inclusion (이하 : LFI 또는 lfi)에 대해서 알아보겠습니다. 맨날 LFI 문제만 나오면, =flag.php, flag.txt, ../../../../e.. godhaword.tistory.com
-
Directory indexingSecurity/Web보안 2020. 8. 1. 15:50
웹 어플리케이션을 제공하는 서버의 설정이 미흡할경우,(인덱싱 기능이 활성화 되있을 경우) 공격자가 서버내의 모든 디렉토리와 파일에대해 인덱싱이 가능해진다. directory indexing checklist 예시 ex) /icons/ /images/ /pr/ /adm /files /files/ /download 해결방안 apache의 경우 Httpd.conf 파일에서 DocumentRoot항목의 Options에서 Indexes를 비활성화 시킨다. IIS 설정-제어판-관리도구-인터넷서비스관리자 에서 등록정보의 홈디레토리 탭에서 체크를 해제한다. apache에서 만약 일부 폴더에만 리스팅을 허용하고싶다면... 새롭게 설정을 만들면된다. Options Indexes FollowSymLinks AllowOver..