profile
개발자에게 유용한 지식

프로그래머스 - 디스크 컨트롤러 (Heap) / Level 3 / Java

프로그래머스 - 디스크 컨트롤러문제 정의요청 작업의 요청부터 완료까지 걸린 시간의 평균이 최소가 되도록 하는 문제이다. 시간복잡도 계산jobs 배열의 크기가 최대 500이다. 문제 풀이하나의 요청이 처리되는 동안 들어온 요청들이 기준에 정렬된 상태를 유지해야 되기 때문

2023년 10월 24일
·
0개의 댓글
·

프로그래머스 - 뒤에 있는 큰 수 찾기(Greedy) / Level 2 / Java

프로그래머스 - 뒤에 있는 큰 수 찾기문제 정의정수 배열 numbers의 각각 원소에 대하여 자신보다 뒤에 있으면서 큰 수 들 중 가장 가까운 수를 구하는 문제이다. 시간복잡도 계산numbers 배열의 크기가 최대 1,000,000이기 때문에 완전탐색으로 N^2 탐색을

2023년 10월 8일
·
0개의 댓글
·
post-thumbnail

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

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

2023년 9월 24일
·
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개의 댓글
·