목록분류 전체보기 (92)
isPowerfulBlog
ELK 테스트를 위해 스프링배치로 로그를 쏴주려는데 빌드 에러가 났다. ./gradlew build * Where: Build file '/home/kueyeon/workspace/engi_adv/demo/build.gradle' line: 28 build.graldle 28번째 줄에서 에러가 났고 -> compile 'net.logstash.logback:logstash-logback-encoder:6.3' * What went wrong: A problem occurred evaluating root project 'demo'. > Could not find method compile() for arguments [net.logstash.logback:log..
Dynamic Programming 동적 계획법(dynamic programming)이란 하나의 큰 문제를 여러 개의 작은 문제로 나누어서 푸는 방법을 말한다. DP 조건 큰 문제를 작은 문제들로 나눌 수 있을 때 작은 문제에서 구한 정답은 그것을 포함하는 큰 문제에서도 적용할 수 있을 때 작은 문제들이 반복될 때 Fibonacci F(0) = 0, F(1) = 1, F(N) = F(N-1) + F(N-2). Recursive # O(2^n) def recur_fibo(n): if n == 0 or n == 1: return n else: return recur_fibo(n-1) + recur_fibo(n-2) # 387 ms ± 7.1 ms per loop (mean ± std. dev. of 7 ru..
문제 합이 0에 가장 가까운 두 용액 조합 구하기 입력과 출력 입력 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하의 정수이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 오름차순으로 입력되며, 이 수들은 모두 -1,000,000,000 이상 1,000,000,000 이하이다. N개의 용액들의 특성값은 모두 서로 다르고, 산성 용액만으로나 알칼리성 용액만으로 입력이 주어지는 경우도 있을 수 있다. 출력 첫째 줄에 특성값이 0에 가장 가까운 용액을 만들어내는 두 용액의 특성값을 출력한다. 출력해야 하는 두 용액은 특성값의 오름차순으로 출력한다. 특성값이 0에 가장 가까운 용액을 만들어내는 경우가 두 개 이상일 경우에는 그 중 아무것이나 하나를 출력..
우분투에서 카프카 설치 kafka사용 시 사용할 사용자 추가 카프카가 네트워크 요청을 처리할 수 있기 때문에, 누군가가 카프카 서버를 손상 시킬 시 우분투 손상을 최소화 하기 위해 kafka 전용 사용자를 새로 만들어 사용하는 것이 좋다 $ sudo adduser kafka kafka 사용자 추가 $ sudo adduser kafka sudo kafka 사용자를 sudo 그룹에 추가 $ su -l kafka kafka 사용자에 로그인 kafka binary 파일 다운로드 및 압축 풀기 $ mkdir ~/Downloads 파일을 저장할 Downloads 폴더 생성 $ curl "https://downloads.apache.org/kafka/3.1.0/kafka_2.13-3.1.0.tgz" -o ~/Down..
tar 여러 개의 파일을 하나의 파일로 묶거나 풀 때 사용하는 프로그램 ✅ tar가 데이터 사이즈를 압축하지는 않는다. 리눅스에서 파일을 압축할 때, 통상적으로 tar로 압축한다 라는 표현을 사용하지만, tar는 파일을 묶는 역할을 할 뿐, 데이터 사이즈를 압축하는 역할을 수행하지는 않는다. 대신, tar로 묶인 파일을 gzip 방식으로 압축할 수 있고 이 또한 tar 명령어로 수행할 수 있다. (따라서 tar 명령어로 압축까지 실행할 수 있는 건 맞다!) tar 명령어로 만들어진 tar 파일: .tar tar파일이 gzip 형태로 압축된 파일: .tar.gz / .tgz tar 명령어 .tar 로 파일 묶기 $ tar [OPTIONS] [파일명.tar] [폴더명] [폴더명]을 [파일명.tar]으로 묶기..
문제 케빈의 베이컨 게임은 임의의 두 사람이 최소 몇 단계 만에 이어질 수 있는지 계산하는 게임 한 사람이 나머지 모든 사람들에 대해 베이컨 게임을 진행해서 나오는 단계들의 총합을 베이컨 수라고 한다. 모든 사람들의 베이컨 수를 구해 그 중 최소의 베이컨 수를 갖는 사람을 구하자. 입력과 출력 입력 첫째 줄에 유저의 수 N (2 ≤ N ≤ 100)과 친구 관계의 수 M (1 ≤ M ≤ 5,000)이 주어진다. 둘째 줄부터 M개의 줄에는 친구 관계가 주어진다. 친구 관계는 A와 B로 이루어져 있으며, A와 B가 친구라는 뜻이다. A와 B가 친구이면, B와 A도 친구이며, A와 B가 같은 경우는 없다. 친구 관계는 중복되어 들어올 수도 있으며, 친구가 한 명도 없는 사람은 없다. 또, 모든 사람은 친구 관계..
문제 여러 높이의 나무들이 주어지고 같은 높이로 이 나무들을 잘라서 최소 M미터 이상의 나무를 확보하고자 한다. 입력과 출력 입력 첫째 줄에 나무의 수 N과 상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어진다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 둘째 줄에는 나무의 높이가 주어진다. 나무의 높이의 합은 항상 M보다 크거나 같기 때문에, 상근이는 집에 필요한 나무를 항상 가져갈 수 있다. 높이는 1,000,000,000보다 작거나 같은 양의 정수 또는 0이다. 출력 적어도 M미터의 나무를 집에 가져가기 위해서 절단기에 설정할 수 있는 높이의 최댓값을 출력한다. 문제 해결 요약 적절한 절단 높이를 탐색하면서 최소 M미터 이상의 나무를 확보해야한다. 시간 복잡도..
나만 그랬다면 유감이지만 깃허브 푸쉬할 때마다 메모장에 저장해둔 깃헙 토큰 복사해다가 붙여넣기를 했다...ㅎ... 너무 귀찮아서 찾아보니 두 가지 저장 방식을 지원한다. Credential 정보 저장 1. Store 방식으로 저장 $ git config credential.helper store credential 정보 저장 깃 디렉토리에 접근 후 해당 명령어를 입력하면 된다 위 명령어 입력 이후 최초 푸쉬에 대해서는 토큰을 입력해야한다. 이후 푸쉬에 대해서는 토큰 입력이 필요 없다! 정보 삭제 토큰 기한이 만료되면 credential 정보 삭제 후 새로 저장해줘야한다. $ git config --unset credential.helper 기존에 저장되어있는 credential 정보 삭제 2. Cache..