1. 문제 설명DFS 재귀호출로 푸는 문제이다. 주어진 number의 요소로 +, - 하면서 depth를 추가하여 마지막 최종 깊이에서 target 값과 같은 가짓수를 리턴하는 문제이다. 2. 접근방법처음에 나는 입출력예를 보고 BFS (깊이우선탐색)를 활용하여 문제를 풀려고 했다. 입출력 예를 보면이 부분이 있는데, 아! 전형적인 미로탐색형 탐색문제구나! 라고 생각했다. 그래서 맨 윗줄 한줄을 BFS하며 조합의 합이 target값이 되는 조합을 찾으려했다. 하지만, 생각할수록 오류의 연속이었다. target 값을 만들기 위해 주어진 number의 요소를 어떻게 구성할것인가... 여기서 막혀버렸다. (애초에 잘못 접근했으니 막히지..ㅋㅋ) 결국 30분이 훌쩍 지나 도움을 얻기로 했다..! 3. 해결방..
정렬문제이다. 명령어가 담긴 2차원 배열을 돌면서 주어진 array에 대해 범위에 대한 K번째 수를 정답 배열에 담아 출력하는 문제이다. Collections 클래스의 static method인 sort 메서드를 사용했다. public int[] solution(int[] array, int[][] commands) { int[] answer = {}; // 가변길이의 배열을 answer 배열에 담기 위한 ArrayList 선언 List resultArr = new ArrayList(); // commands 배열을 순회하며 필요한 변수 초기화 for(int x = 0; x sortableArr = new ArrayList(); ..
간단한 그리디 알고리즘 문제이다. 먼저, 장군개미는 공격력이 5, 병정개미는 3, 일개미는 1이다. 최소 개미병력을 사용해야 하므로 최대한 공격력이 높은 개미로 구성해야 한다. 먼저, 공격력이 제일 작은 일개미를 초기 조건으로 세팅한다. 남아있는 적의 hp가 3미만 일때는 일개미만 동원할 수 있으므로 초기조건으로 넣어준다. 그 후 장군개미를 구성하는 조건을 넣어준다. 적의 hp가 5의 배수일때는 장군개미로만 구성하면 되므로, 5로 나눈 몫으로 개미수를 세팅한다. 그 다음 hp가 5의 배수가 아닐때는 병정개미로 구성한다. 이때 주의할 점은 장군개미때 처럼 3의 배수일때의 조건을 사용하지 않는다. 그 이유는 3의 배수로 조건을 설정하면 적의 hp가 3의 배수이면서 5의 배수일때만 개미를 구성하기 때문이다. ..
if문으로 범위 조건을 처리하고, 단순 할인율 연산 코드이다. 로직과 연산 코드는 잘 작성했으나 테스트 케이스 13, 14번에서 자꾸 통과하지 못했다. 헤매고 헤마다 소수점 처리 부분에서 에러가 있었다. class Solution { public int solution(int price) { int answer = 0; if(price >= 100000 && price = 300000 && price = 500000){ answer = price - (int)(price * 0.2); }else{ answer = price; } return answer; }} 이렇..