[Algorithm] Kadane Algorithm - 합이 가장 큰 부분 배열
Kadane 알고리즘: 최대 부분합(Subarray Sum) 문제 해결 📌 Kadane 알고리즘이란? Kadane's Algorithm은 배열의 연속된 부분 배열(subarray) 중에서 최대 합을 찾는 알고리즘이다. 최대 부분합 문제 (Maximum Subarray Sum Problem)이라고도 한다. 이 알고리즘은 O(N)의 시간 복잡도로 ...
Kadane 알고리즘: 최대 부분합(Subarray Sum) 문제 해결 📌 Kadane 알고리즘이란? Kadane's Algorithm은 배열의 연속된 부분 배열(subarray) 중에서 최대 합을 찾는 알고리즘이다. 최대 부분합 문제 (Maximum Subarray Sum Problem)이라고도 한다. 이 알고리즘은 O(N)의 시간 복잡도로 ...
Dictionary or Two Pointer 두 수의 합(Two Sum) 문제는 주어진 배열에서 두 원소의 합이 특정 목표값(target)과 일치하는 경우 해당 원소들의 인덱스를 반환하는 코딩 테스트와 알고리즘 문제에서 자주 등장하는 문제이다. Dictionary(hash map) 혹은 Two Pointer을 활용하여 문제를 해결하는데, ...
Linux Text File 생성 방법 Linux Text File을 생성할 때 보통 vim 에디터를 사용하거나 echo "hello world" > text.txt와 같이 Redirection을 간단하게 활용했다. 여러 Linux 환경의 솔루션을 설치할 때 tee 명령어을 사용하거나 kubernetes의 Resource manifest ...
이항 계수 3 문제 자연수 n과 정수 k가 주어졌을 때, 이항 계수 C(n, k)를 1,000,000,007로 나눈 나머지를 구하는 프로그램을 작성하시오. 예제 입력 첫째 줄에 n과 k가 주어진다. (1 ≤ n ≤ 4,000,000, 0 ≤ k ≤ n) 출력 C(n, k)를 1,000,000,007로 나눈 나머지를 출력한다. ...
곱셈 문제 자연수 A를 B번 곱한 수를 알고 싶다. 단 구하려는 수가 매우 커질 수 있으므로 이를 C로 나눈 나머지를 구하는 프로그램을 작성하시오. 예제 입력 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다. 10 11 12 출력 첫째 줄에 ...
Loopback 이란? 네트워크 장치가 자기 자신과 통신할 수 있는 기능이다. 네트워크를 테스트하거나 시스템 내부에서 프로세스 간 통신을 할 때 주로 사용한다. 주요 특징 특정 주소(예: 127.0.0.1)로 보낸 데이터가 바로 자기 시스템1으로 돌아온다. 주요 특징들은 아래와 같다. 1. 통신 방식 네트워크 카드(NIC)가 없어도, 즉...
두 용액 문제 산성 용액의 특성값은 1부터 1,000,000,000까지의 양의 정수로 나타내고, 알칼리성 용액의 특성값은 -1부터 -1,000,000,000까지의 음의 정수로 나타낸다. 산성 용액과 알칼리성 용액의 특성값이 주어졌을 때, 이 중 두 개의 서로 다른 용액을 혼합하여 특성값이 0에 가장 가까운 용액을 만들어내는 두 용액을 찾는 ...
AC 문제 선영이는 주말에 할 일이 없어서 새로운 언어 AC를 만들었다. AC는 정수 배열에 연산을 하기 위해 만든 언어이다. 이 언어에는 두 가지 함수 R(뒤집기)과 D(버리기)가 있다. 함수 R은 배열에 있는 수의 순서를 뒤집는 함수이고, D는 첫 번째 수를 버리는 함수이다. 배열이 비어있는데 D를 사용한 경우에는 에러가 발생한다. 함수는 ...
노트북을 가지고 Home Server를 구축해볼려고 한다. 노트북 디스플레이가 계속 켜져있으니 뭔가 보기 싫고, 덮개도 덮어놓고 싶어서 설정하는 방법을 찾아 정리해보았다. Headless Mode 물리적인 입출력 장치가 없이 컴퓨터를 운영하는 방식을 Headless Mode라고 한다. 즉, 사용자 인터페이스가 없고 ssh와 같은 원격 관리 도...
On-premise 환경의 패키지 설치 네트워크 연결 제한을 곁들인… 가끔 네트워크 연결이 제한된 On-premise 환경의 서버를 구축할 일이 있다. 이때, ISO 파일을 마운트한 후 Yum Repository로 설정하여 운영체제의 패키지들을 설치할 수 있다. 아래와 같이 생각보다 많은 패키지들을 설치할 수 있다. 물론 아래보다 더...