전체 글(140)
-
백준 [ALGORITHM] - 카드1 (2161)
from queue import Queue N = int(input()) lst = [i + 1 for i in range(N)] collect = [] for i in range(len(lst)): if len(lst) != 1: tmp1 = lst.pop(0) collect.append(tmp1) tmp = lst[0] lst.pop(0) lst.append(tmp) else: if len(" ".join(map(str, collect))+ " ".join(map(str, lst))) == 1: print("".join(map(str, lst))) break print(" ".join(map(str, collect)), " ".join(map(str, lst)))
2024.01.30 -
백준 [ALGORITHM] - 커트라인 (25305)
#include #include int compare(const void* a, const void* b) { return (*(int*)a - *(int*)b); } int main() { int count; int n; scanf("%d %d", &count, &n); int* arr1 = (int*)malloc(count * sizeof(int)); for (int i = 0; i < count; i++) { scanf("%d", &arr1[i]); } qsort(arr1, count, sizeof(int), compare); if (n
2024.01.28 -
백준 [ALGORITHM] - 주사위 (1233)
#include #include #include int main() { int a, b, c; int result; scanf("%d %d %d", &a, &b, &c); int *arr1 = (int *)malloc(a * sizeof(int)); int *arr2 = (int *)malloc(b * sizeof(int)); int *arr3 = (int *)malloc(c * sizeof(int)); int *value = (int *)malloc(a * b * c * sizeof(int)); for (int i = 0; i < a; i++) { arr1[i] = i + 1; } for (int j = 0; j < b; j++) { arr2[j] = j + 1; } for (int q = 0; q <..
2024.01.27 -
백준 [ALGORITHM] - 문서 검색 (1543)
string = list(input()) words = list(input()) count = 0 while True: string = ''.join(string) words = ''.join(words) str_len = len(string) string = string.replace(words,'') cmp_len = len(string) print((str_len - cmp_len) // len(words)) break
2024.01.25 -
백준 [ALGORITHM] - 숫자 카드 (10815)
card_book = {} number = int(input()) card = list(map(int, input().split(' '))) number_cmp = int(input()) card_cmp = list(map(int, input().split(' '))) for i in range(number_cmp): card_book[card_cmp[i]] = 0 for j in range(number): if card[j] in card_book: card_book[card[j]] = 1 else: pass print(' '.join(str(i) for i in card_book.values())) 이분탐색을 사용하지 않고, python의 dict 자료형을 활용한 해시맵 풀이
2024.01.24 -
[CTF] insomni'hack Teaser 2024
insomni'hack Teaser 2024에서 출제된 InsoBank 라는 웹 문제 문제 설명에 적혀있는 "나에게만 전송 가능" 이 문장과 구현되어있는 송금 (본인의 계좌에만) 기능을 통해서 레컨으로 푸는 문제라고 직감했다. 실제로 flag를 얻는 조건이 /account의 계좌에 13.37원 초과한 금액이 있다면 json으로 flag를 return해준다는 것을 통해 race condition을 통해서 해결 할 수 있다고 확신했었다. 대회 기간동안 레이스 컨디션으로 인한 트래픽 때문인지 계속 다운되는 서버 때문에 어질어질했지만.. burp suite에서 송금하는 패킷을 딴 뒤에 repeater로 send만 여러번 눌러줘도 풀리는 어이없는(?) 문제였다. 그리고 이유는 모르겠지만 해당 문제 서비스 구축할 ..
2024.01.21