Coding Test

문제설명입력 & 출력나의 풀이문제 접근 방법"프로그래머스 - 1차 캐시" 문제는 캐시 크기를 측정하는 프로그램을 작성하는 것 입니다. 문제에서 나와 있듯이 LRU(Least Recently Used) 알고리즘을 사용하여 풀이하면 됩니다. 문제의 핵심은 LRU 알고리즘의 특성인 캐시가 가득 찼을 때 가장 오랫동안 사용되지 않은 항목을 제거하는 방식을 생각하면 어렵지 않게 풀 수 있습니다. 물론 순서를 유지하는 LinkedHashMap 같은 자료구조를 사용하면 O(1)로 처리할 수 있으므로 성능이 더 좋아질 수 있지만, ArrayList 자료구조를 사용해서도 충분히 구현할 수 있습니다.  [JAVA] ArrayList 알아보기 (동적 배열)Java에서는 기본적으로 여러 데이터를 다룰 때 배열을 사용합니다. ..
·Coding Test/백준
문제설명입력 & 출력나의 풀이문제 접근 방법"백준 - 잃어버린 괄호"문제는 주어진 식에 적절히 괄호를 넣었을 때 최소의 값을 만드는 문제입니다.  연산자는 '+'와 '-'만 주어지기 때문에 최소 값을 만드려면 마이너스 값이 최대한 커야합니다. 즉, 가장 큰 수를 빼줘야 합니다.  위와 같이 가장 큰 수를 만드려면 50 + 40 = 90 을 통해 가장 큰 값을 구할 수 있습니다. 여기서 알 수 있듯이 덧셈(+)으로 이루어진 수를 먼저 더하면 큰 값을 구할 수 있습니다.100+200-300+400-500+600+700-800+900+1000-1100+1200 위와 같이 긴 연산이 주어진다고 해도 뺄셈(-)을 기준으로 분리하면 아래와 같이 나옵니다. 1. ["100+200", "300+400", "500+60..
·Coding Test/백준
문제설명입력 & 출력나의 풀이문제 접근 방법"백준 - 연속합"문제는 주어진 배열에서 연속된 수들의 합이 최대가 되는 부분 배열의 합을 구하는 문제입니다. 이 때 수열에서 숫자를 선택할 때는 연속된 수를 선택해야하는 것이 핵심입니다. 이 문제를 효율적으로 해결하기 위해 다이나믹 프로그래밍 알고리즘을 사용합니다. [Algorithm] 동적 계획법(Dynamic Programming, DP, Java) 알아보기동적 계획법 DP란❓  동적 계획법은 프로그래밍 대회 문제에 가장 자주 출현하는 디자인 패러다임 중 하나로 1940년대 리처드 벨만이 사용하던 용어입니다.  주로 줄여서 DP라고 많이 말하며, 주pixx.tistory.com  연속된 값을 선택해야 하므로, 현재까지의 연속합에 현재 값을 더한 값과 현재 ..
·Coding Test/백준
문제설명입력 & 출력나의 풀이문제 접근 방법 7 3 8 8 1 0 2 7 4 44 5 2 6 5 "백준 - 정수 삼각형"문제는 위와 같은 정수 삼각형에서 맨 위층에서 시작해서, 아래에 있는 수를 선택하여 마지막 레벨까지 도착했을 때 최대 합을 구하는 문제입니다. 이 때 아래에 있는 수는 왼쪽 대각선 또는 오른쪽 대각선만 선택할 수 있습니다. 이 문제를 해결하기 위한 핵심은 동적 계획법 (DP)을 사용하는 것입니다. 삼각형에서 각 정점마다 그 위치까지 올 수 있는 최대 합을 계산하여, 결국 맨 아래까지 내려오면서 최대 합을 구하는 방식입니다.  [Algorithm] 동적 계획법(Dynamic Programming, DP, Java) 알아보기동..
지누박
'Coding Test' 카테고리의 글 목록 (2 Page)