profile
개발자에게 유용한 지식
post-thumbnail

Kafka - 신뢰성 있는 카프카 애플리케이션을 만드는 3가지 방법

신뢰성 있는 카프카 애플리케이션을 만드는 3가지 방법이 글은 최원영님의 kakao tech meet 발표를 보고 공부한 내용을 정리한 것 입니다.EDA(Event Driven Architecture)와 Stram Data Pipeline 에서 중요한 역할을 수행스트림

4일 전
·
0개의 댓글
·

프로그래머스 - 무인도 여행(DFS, BFS) / Level 2 / Python

프로그래머스 - 무인도 여행문제 정의여러 섬들의 식량의 합들을 각각 구해서 정렬하는 문제이다. 시간복잡도 계산모든 노드들을 탐색했을 때 최대 10,000개 노드를 탐색하기 때문에 충분히 시간내에 통과할 것이라 생각했다.문제 풀이입력의 크기가 N <= 100, M

2023년 9월 8일
·
0개의 댓글
·

프로그래머스 - 호텔 대실(정렬, 우선순위 큐) / Level 2 / Python

프로그래머스 - 호텔 대실문제 정의호텔 대실 예약시간이 주어졌을 때 시간이 겹치지 않도록 필요한 최소 방의 개수를 구하는 문제이다. 시간복잡도 계산for 문으로 한번 순회하면서 우선순위 큐에 삽입 삭제를 하기 때문에 시간복잡도는 최대 O(NlogN) 이다. book_t

2023년 9월 7일
·
0개의 댓글
·
post-thumbnail

네트워크 - Data Link Layer(2계층)의 목적

오늘 쓰는 글의 목적은 네트워크 상으로 데이터가 전송되는 하나의 큰 그림 안에서2계층의 목적은 무엇이고 어떤 역할을 하는지 확실하게 알아보기 위함이다.

2023년 6월 15일
·
0개의 댓글
·

백준 - 계단 오르기 / Silver 3 / 2579번 / Python

백준 - 계단 오르기문제 정의매 계단마다 주어진 점수가 있고 한 계단 혹은 두 계단 씩 오를 때 최대 점수를 구하는 문제이다. 단, 3번 연속 한 계단씩 오르면 안 된다.시간 복잡도 계산계단의 최대 개수는 300개이지만 매 순간마다 해당 계단을 한 계단 뛰어 도착할지

2023년 5월 22일
·
0개의 댓글
·

프로그래머스 - 타겟 넘버(DFS/BFS) / Level 2 / Java

프로그래머스 - 타겟 넘버문제 정의numbers 배열의 숫자들을 순서를 바꾸지 않고 서로 더하거나 뺐을 때target number가 나오는 경우의 수를 구하는 문제이다. 이 문제의 상태 공간을 트리로서 정의하게 되면 루트 노드가 0이고 부모 노드 값에서 numbers

2023년 5월 5일
·
0개의 댓글
·

프로그래머스 - 더 맵게(Heap) / Level 2 / Java

프로그래머스 - 더 맵게문제 정의스코빌 지수가 정렬된 채로 주어졌을 때가장 낮은 것과 두 번째로 낮은 것을 섞어서 스코빌 지수를 높인다.그렇게 가장 작은 것이 K 이상이 될 때까지 몇 번 섞어야 하는지 구하는 문제이다.시간 복잡도 계산배열의 길이가 최대 1,000,00

2023년 4월 27일
·
0개의 댓글
·

프로그래머스 - 기능개발(스택 / 큐) / Level 2 / Java

프로그래머스 - 기능개발문제 정의작업 진행도와 작업 속도가 주어졌을 때 언제 완료될지 계산해서하나의 배포 시기에 몇 개의 기능들이 배포되는지 구하는 문제이다.주의할 점은 작업들 간의 순서가 존재하여 앞 작업이 완료되지 않아 배포되지 않으면뒤 작업들은 대기했다가 앞 작업

2023년 4월 26일
·
0개의 댓글
·

백준 - 불! / Gold 5 / 4179번 / Python

백준 - 불!문제 정의2차원 격자의 미로에서 지훈이와 불이 1초마다 1칸씩 상하좌우로 움직일 때지훈이가 불을 피해 탈출할 수 있는 최단거리를 구하는 문제이다.시간 복잡도 계산최단거리 문제이기 때문에 BFS 탐색을 떠올렸으며최악의 경우 BFS러 전부 탐색할 경우 시간초과

2023년 4월 26일
·
0개의 댓글
·

프로그래머스 - 이모티콘 할인행사(2023 KAKAO BLIND RECRUITMENT) / Level 2 / Python

프로그래머스 - 이모티콘 할인행사문제 정의이모티콘의 할인율을 탐색했을 때서비스 가입자, 매출액의 최댓값을 찾는 문제이다.(서비스 가입자가 같으면 매출액이 최대가 되도록)시간 복잡도 계산완전 탐색이 먼저 가능한지 계산해 봤다.먼저 가능한 이모티콘의 가격들은 중복조합으로

2023년 4월 18일
·
0개의 댓글
·
post-thumbnail

DVWA 웹 보안 실습#3 / XSS (Cross Site Scripting) 공격

오늘은 저번 포스팅에 이어서DVWA 사이트에서의 XSS 공격 실습과 그에 해당하는 대응방법에 관해 포스팅해보겠습니다.먼저 XSS에 대한 개념에 대하여 알아보겠습니다.XSS는 대부분의 웹사이트의 내장된 자바스크립트의 <script> 태그를 이용하는 방식인데요.공격자

2023년 4월 12일
·
0개의 댓글
·

프로그래머스 - 모음사전 / Level 2 / Python

프로그래머스 - 모음사전문제 정의단어들을 문제의 조건에 따라 순서대로 쭉 나열했을 때 특정 단어의 index를 반환하는 문제이다.시간 복잡도 계산완전 탐색이 먼저 가능한지 계산해 봤다.전체 경우의 수는 6^5 이므로 충분히 가능하다.문제 풀이이 문제의 key point

2023년 4월 12일
·
0개의 댓글
·

프로그래머스 - 전력망을 둘로 나누기 / Level 2 / Python

프로그래머스 - 전력망을 둘로 나누기문제 정의하나의 트리를 둘로 나눈 뒤 노드의 개수의 차가 최소가 되도록 하는 문제이다.시간 복잡도 계산완전 탐색이 먼저 가능한지 계산해 봤다.n이 최대 100이므로 최대 99개의 edge 중 하나를 선택하는 경우의 수는 99이고그때마

2023년 4월 12일
·
0개의 댓글
·

백준 - 탑 / Gold 5 / 2493번 / Python

백준 - 탑탑들을 역순회하면서 레이저를 송신하는 탑이 나타날 때까지자료구조에 저장하여 관리해야 한다.그럼 어떠한 자료구조가 적합할까?바로 스택이다.왜냐하면 스택에 들어왔다는 건 현재 스택에 있는 탑보다 높이가 낮다는 것이다.그렇기 때문에 최근에 들어온 데이터(탑)부터

2023년 4월 7일
·
0개의 댓글
·
post-thumbnail

DVWA 웹 보안 실습#2 / Command Injection

이번에는 Command Injection에 대하여 알아보고 간단히 실습을 진행해보겠습니다.Command Injection은 보기와 같이 사용자로부터 받은 입력을 내부적으로 시스템 명령어의 인자로서 사용하는 서비스에서 악의적으로 ";" 등의 키워드를 통해 다른 시스템 명

2023년 4월 6일
·
0개의 댓글
·

백준 - 파티 / Gold 3 / 1238번 / Python

백준 - 파티최단경로 문제이다.간선에는 방향과 가중치가 있고 양수이기 때문에 다익스트라 알고리즘을 떠올렸다.X까지 갔다오는 최단경로를 구해야 했기 때문에 다음과 같이 2가지 경우의 최단경로를 구해야했다.1\. 모든 노드 -> X2\. X -> 모든 노드다익스트라 알고리

2023년 4월 6일
·
0개의 댓글
·

백준 - AC / Gold 5 / 5430번 / Python

백준 - AC테스트케이스 개수인 t은 최대 100이고명령어의 개수가 최대 100,000이며배열의 길이가 최대 100,000이기 때문에명령어를 순회하는 것까지는 시간 초과가 나지 않는다.하지만 배열을 뒤집는 reverse() 함수는 시간 복잡도가 O(N)이기 때문에실제로

2023년 4월 4일
·
0개의 댓글
·

백준 - 평범한 배낭 / Gold 5 / 12865번 / Python

백준 - 평범한 배낭유명한 문제인 0-1 Knapsack Problem이다.DP배열을 정의하는데 어려움을 겪어서 풀이에 실패하여 다른 여러 풀이를 참고하였다.먼저 2차원 DP배열은 다음과 같이 정의할 수 있다.그리고 해당 dp 배열을 채워가면 답을 찾을 때는 다음과 같

2023년 4월 4일
·
0개의 댓글
·

백준 - 센서 / Gold 5 / 2212번 / Python

백준 - 센서풀이를 생각해 내는 것이 어려웠던 그리디 문제이다.수직선 위에 N 개의 센서들이 있고 이 센서들을 모두 포함하면서가장 최소 길이인 K 개의 구간들의 합을 구하는 것이다.먼저 센서들 중 중복되는 것들을 제거한 뒤 각 센서 사이의 거리들을 모아서sections

2023년 3월 30일
·
0개의 댓글
·

백준 - 문자열 폭발 / Gold 4 / 9935번 / Python

백준 - 문자열 폭발target이 없을 때까지 계속해서 모든 target을 찾아 제거하는 문제이다.input_string의 최대 길이가 1,000,000 (이하 n)이고target의 최대 길이가 36 (이하 k) 이기 때문에시간 복잡도를 최적화하는 게 제일 중요한 문제

2023년 3월 29일
·
1개의 댓글
·