문제설명입력 & 출력나의 풀이문제 접근 방법"프로그래머스 - 1차 캐시" 문제는 캐시 크기를 측정하는 프로그램을 작성하는 것 입니다. 문제에서 나와 있듯이 LRU(Least Recently Used) 알고리즘을 사용하여 풀이하면 됩니다. 문제의 핵심은 LRU 알고리즘의 특성인 캐시가 가득 찼을 때 가장 오랫동안 사용되지 않은 항목을 제거하는 방식을 생각하면 어렵지 않게 풀 수 있습니다. 물론 순서를 유지하는 LinkedHashMap 같은 자료구조를 사용하면 O(1)로 처리할 수 있으므로 성능이 더 좋아질 수 있지만, ArrayList 자료구조를 사용해서도 충분히 구현할 수 있습니다. [JAVA] ArrayList 알아보기 (동적 배열)Java에서는 기본적으로 여러 데이터를 다룰 때 배열을 사용합니다. ..
Coding Test/프로그래머스
문제설명입력 & 출력나의 풀이이번 "프로그래머스 - 피로도"문제는 다음과 같은 조건을 만족해야 하는 문제입니다.피로도: 어떤 던전을 탐험하려면 최소 필요 피로도와 소모 피로도가 있습니다.최소 필요 피로도: 해당 던전을 탐험하기 위해 필요한 최소 피로도 소모 피로도: 해당 던전을 탐험하면 소모되는 피로도 목표: 주어진 k(현재 피로도)와 던전 정보가 있을 때, 최대 몇 개의 던전을 탐험할 수 있는지를 구하는 것입니다.전체 코드 이 문제는 완전 탐색으로 해결할 수 있지만, DFS를 활용하면 풀이 과정이 더 간단하고 명확해집니다 문제를 해결하기 위해 방문 여부를 확인하는 배열(visited)과 최대 탐험 가능한 던전 수(max)를 선언했습니다. 두 변수는 탐색 과정에서 자주 초기화되기 때문에 static으로 ..
문제설명입력 & 출력나의 풀이이번 "프로그래머스 - 소수 찾기" 문제는 문자열로 주어진 숫자들로 조합하여 만들 수 있는 모든 수 중에서 소수를 찾는 문제입니다. 제가 풀이한 방법은 DFS 알고리즘을 사용하여 소수를 체크해주고, 소수 판별 함수를 만들어 해당 숫자가 소수인지 확인하는 방식으로 구현했습니다. [Algorithm] 효율적인 그래프 탐색: 자바로 구현한 DFS 알아보기 (1/2)이번 포스팅에서는 Java 알고리즘에서 필수적이라고도 말할 수 있는 DFS와 BFS에 대해서 알아보겠습니다. 자바를 활용하다 보면 그래프나 트리 구조를 탐색해야 할 때가 있습니다. 예를 들어,pixx.tistory.com전체 코드 DFS 함수DFS 함수에서는 재귀를 사용하여 가능한 모든 조합을 탐색합니다. 백트래킹(B..
문제설명입력 & 출력나의 풀이이번 "프로그래머스 - 폰켓몬" 문제는 폰켓몬이 배열로 주어졌을 때 최대한 다른 종류의 폰켓몬을 가져갈 수 있는지에대한 문제입니다. Hash문제로, HashSet과 HashMap 두 개다 사용할 수 있습니다.HashSet 풀이 폰켓몬은 최대한 다양한 종류를 선택해야 하기 때문에, 중복을 제거할 수 있는 Set 자료구조를 활용할 수 있습니다. [JAVA] HashSet 클래스 사용법 (중복 없는 데이터 집합)자바를 활용하다 보면 중복되지 않는 유일한 값을 저장하고 관리해야 할 때가 있습니다. 이럴 때 사용할 수 있는 클래스가 HashSet입니다. HashSet은 고유한 요소들을 저장하는 데 최적화된 컬렉pixx.tistory.com 문제에서 가져갈 수 있는 폰켓몬의 최대 수..