Coding Test/프로그래머스

문제설명입력 & 출력나의 풀이이번 "프로그래머스 - 소수 찾기" 문제는 문자열로 주어진 숫자들로 조합하여 만들 수 있는 모든 수 중에서 소수를 찾는 문제입니다. 제가 풀이한 방법은 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 문제에서 가져갈 수 있는 폰켓몬의 최대 수..
문제설명입력 & 출력나의 풀이 public class Solution { public int solution(int number, int limit, int power) { int answer = 0; for(int i = 1 ; i limit){ attackValue = power; } answer+= attackValue; } return answer; } public static int divisorCount(int num){ int cnt = 0; for(int i = 1 ; i   위와 같이 number의 약수를 하나씩 구한다면 오래걸리기..
문제설명입력 & 출력나의 풀이 이번 문제는 주어진 사과 점수를 이용해 상자를 포장하고 최대 이익을 계산하는 간단한 문제입니다. 각 상자는 m개의 사과로 구성되고, 상자의 가격은 가장 낮은 점수에 m을 곱해 계산됩니다. 문제에서 각 상자는 m개의 사과로 구성된다고 했으니, 주어진 m만큼 상자를 나누고, 정렬을 한다면 쉽게 접근할 수 있습니다.  이해를 돕기위해 입출력 예 #2번을 그림과 같이 표현하면 위와 같습니다. 먼저 주어진 score배열을 정렬한다면 아래의 그림처럼 배열이 정렬됩니다. 그리고 m은 3이니깐 3개씩 자른다면 빨간색 선을 기준으로 4개의 사과 상자가 나오게 됩니다. 정렬된 배열에서 각 상자의 최소 점수는 상자의 첫 번째 값이 됩니다. 따라서 for문을 사용해 배열의 끝에서부터 m개씩 묶어..