전체 글135 Max Array Sum 풀이 Java Max Array Sum | HackerRank Find the maximum sum of elements in an array. www.hackerrank.com DP문제 subset of non-adjacent elements : 인접하지 않은 요소들의 집합 arr = {-2, 1, 3, -4, 5} dp = new int[5] 시작하기 전에, dp[0] = -2 (제일 첫번째 수만 초기화) dp[1] = max(n,d(n-1)) = max(-2,1) = 1 case 1 : N번째 수를 포함하는 경우 n : n 번째 값, d(n) : n 까지의 합 max(n,d(n-2)+n) * d(n-2)인 이유는 인접하면 안되기 때문 case 2 : N번째 수를 포함하지 않는 경우 d(n-1) ---- d[n] .. 2022. 7. 9. Binary Search Tree : Lowest Common Ancestor 풀이 Java LCA : LCA알고리즘은 트리에서 두 개의 노드를 선택했을 때 최소 공통 조상을 구해주는 알고리즘이다. LCA는 두 노드가 처음으로 갈라지는 지점이다. * 본인 포함 * 자기 자신도 자신의 조상이 될 수 있음 이 문제는 LCA에 대한 개념과 재귀에 대해서 알면 쉽게 풀 수 있지만 개념을 이해하지 못하면 산으로 갈 수 있다. DFS 재귀로 풀기 import java.util.*; import java.io.*; class Node { Node left; Node right; int data; Node(int data) { this.data = data; left = null; right = null; } } class LCA_BST { /* * class Node int data; Node left; N.. 2022. 7. 9. 2021 KAKAO BLIND 코딩테스트 메뉴 리뉴얼 풀이 Java https://school.programmers.co.kr/learn/courses/30/lessons/72411 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 포인트 : 조합 사용, 정렬 import java.util.*; public class Menu { public static void main(String[] args) { Solution sol = new Solution(); String[] orders = { "ABCFG", "AC", "CDE", "ACDE", "BCFG", "ACDEH" }; int[] course = { 2, 3, 4 }.. 2022. 7. 7. 한 번쯤은 들어봤을 AD, LDAP에 대한 정리 서론 많은 기업에서 인증을 위해 AD(Active Directory)를 사용하는 것으로 알고 있다. 지금 근무 중인 회사도 AD를 사용해서 한 번은 정리해야겠다고 생각만 하고 있었는데 Springboot-LDAP 연동 개발 중 문제가 있어서 해결방안을 찾는 겸 정리를 해보려고 한다. Active Directory(AD)? 전화번호부의 개념(그룹 내 연락처 정보에 액세스 하기 위한 디렉토리) AD는 Microsoft가 Windows 전용으로 개발한 디렉토리 서비스 제품으로 공유 네트워크상의 Object(데스크탑 및 노트북 컴퓨터, 디바이스, 프린터, 서비스, 사용자 그룹 등)를 정리하고 관리하기 위한 인터페이스를 제공한다. 여기에 포함된 사용자 또는 사용자 그룹에는 디렉토리 내의 정보 및 개체에 액세스 할.. 2022. 4. 4. [분할 정복] 쿼드 트리 뒤집기(convert quad tree) 입력 쿼드 트리로 압축한 그림이 주어진다. 모든 문자열의 길이는 1,000 이하이며, 원본 그림의 크기는 2^20*2^20을 넘지 않는다. 예제 입력 xbwwb xbwxwbbwb 예제 출력 xwbbw xxbwwbbbw 코드 포인트는 위 그림! 첫 번째 그림을 뒤집는 과정을 1) 숫자를 각자 뒤집고 2) 아래와 위를 뒤집는 걸로 생각한다. 전체가 검은색이나 흰 색인 그림은 뒤집어봤자 다를 게 없기 때문에 b, w는 그대로 리턴한다. CharacterIterator를 사용하는 이유도 잘 생각해 보면 좋을듯 import java.text.CharacterIterator; public class QuadTree { String reverse(CharacterIterator it) { char head = it... 2022. 3. 17. Codility : GenomicRangeQuery 풀이 문제 GenomicRangeQuery coding task - Learn to Code - Codility Find the minimal nucleotide from a range of sequence DNA. app.codility.com A DNA sequence can be represented as a string consisting of the letters A, C, G and T, which correspond to the types of successive nucleotides in the sequence. Each nucleotide has an impact factor, which is an integer. Nucleotides of types A, C, G and T have impa.. 2022. 3. 5. Codility : MaxSliceSum 풀이 Java, DP 문제 MaxSliceSum coding task - Learn to Code - Codility Find a maximum sum of a compact subsequence of array elements. app.codility.com A non-empty array A consisting of N integers is given. A pair of integers (P, Q), such that 0 ≤ P ≤ Q < N, is called a slice of array A. The sum of a slice (P, Q) is the total of A[P] + A[P+1] + ... + A[Q]. Write a function: class Solution { public int solution(in.. 2022. 3. 5. Codility : Greedy MaxNonoverlappingSegments 풀이 Java, Greedy 알고리즘 문제 MaxNonoverlappingSegments coding task - Learn to Code - Codility Find a maximal set of non-overlapping segments. app.codility.com Located on a line are N segments, numbered from 0 to N − 1, whose positions are given in arrays A and B. For each I (0 ≤ I < N) the position of segment I is from A[I] to B[I] (inclusive). The segments are sorted by their ends, which means that B[K] ≤ B[K + 1] for K.. 2022. 3. 4. Kafka란? (1) | 아키텍처, 핵심 개념 Kafka? 메시지 발행/구독 시스템이다. 발행된 시스템을 저장하고 중계하는 역할을 브로커(broker)가 수행한다. * 데이터를 메시지 발행자가 직접 구독자에게 보내지 않는다. 대신 발행자가 메시지를 구분해서 발행/구독 시스템에 전송하면 구독자가 특정 부류의 메시지를 구독할 수 있게 해준다. 카프카의 데이터는 지속해서 저장하고 읽을 수 있으며, 시스템 장애에 대비하고 확장에 따른 성능 저하를 방지하기 위해 데이터를 분산처리 할 수 있다. 카프카의 메시지는 토픽의 파티션에 저장되는데, 데이터를 저장할 파티션을 결정하기 위해 일관된 해시 값으로 키를 생성한다. 따라서 같은 키를 갖는 메시지는 항상 같은 파티션에 저장된다. [배치] 효율성을 위해서 여러 개의 메시지를 모아 배치 형태로 파티션에 저장하므로 네.. 2022. 3. 4. 이전 1 ··· 10 11 12 13 14 15 다음 반응형