From a484b1e204680790272a960e9bda6ab60c8a2c85 Mon Sep 17 00:00:00 2001 From: IdionKim Date: Wed, 5 Feb 2020 23:43:27 +0900 Subject: [PATCH] =?UTF-8?q?=ED=94=84=EB=A1=9C=EA=B7=B8=EB=9E=98=EB=A8=B8?= =?UTF-8?q?=EC=8A=A4=20=EB=82=98=EB=88=84=EC=96=B4=20=EB=96=A8=EC=96=B4?= =?UTF-8?q?=EC=A7=80=EB=8A=94=20=EC=88=AB=EC=9E=90=20=EB=B0=B0=EC=97=B4=20?= =?UTF-8?q?=ED=92=80=EC=9D=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DividingNumberArray/Solution.java | 24 +++++++++++ .../DividingNumberArray/SolutionTest.java | 40 +++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 200205/ksundong/DividingNumberArray/Solution.java create mode 100644 200205/ksundong/DividingNumberArray/SolutionTest.java diff --git a/200205/ksundong/DividingNumberArray/Solution.java b/200205/ksundong/DividingNumberArray/Solution.java new file mode 100644 index 0000000..c25572c --- /dev/null +++ b/200205/ksundong/DividingNumberArray/Solution.java @@ -0,0 +1,24 @@ +import java.util.ArrayList; +import java.util.Arrays; + +/** + * [나누어 떨어지는 숫자 배열](https://programmers.co.kr/learn/courses/30/lessons/12910) + * - [풀이](https://github.com/ksundong/algorithm-solution/blob/0007cfb4c168f48bf1f4597814fc715d6a33e685/src/main/java/dev/idion/programmers/dividingnumberarray/Solution.java) + * - 별로 깊게 생각해보지 않아도 되는 문제였다. + */ +public class Solution { + public int[] solution(int[] arr, int divisor) { + ArrayList dividingArray = new ArrayList<>(); + for (int i = 0; i < arr.length; i++) { + if (arr[i] % divisor == 0) dividingArray.add(arr[i]); + } + if (dividingArray.isEmpty()) return new int[]{-1}; + + int[] answer = new int[dividingArray.size()]; + for (int i = 0; i < dividingArray.size(); i++) { + answer[i] = dividingArray.get(i); + } + Arrays.sort(answer); + return answer; + } +} diff --git a/200205/ksundong/DividingNumberArray/SolutionTest.java b/200205/ksundong/DividingNumberArray/SolutionTest.java new file mode 100644 index 0000000..4a3aaca --- /dev/null +++ b/200205/ksundong/DividingNumberArray/SolutionTest.java @@ -0,0 +1,40 @@ +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertArrayEquals; + +class SolutionTest { + Solution solution; + + @BeforeEach + void setUp() { + solution = new Solution(); + } + + @Test + void testSolution1() { + int[] inputArray = {5, 7, 9, 10}; + int inputdivisor = 5; + int[] expected = {5, 10}; + int[] actual = solution.solution(inputArray, inputdivisor); + assertArrayEquals(expected, actual, "원하는 배열이 출력되지 않았습니다."); + } + + @Test + void testSolution2() { + int[] inputArray = {2, 36, 1, 3}; + int inputdivisor = 1; + int[] expected = {1, 2, 3, 36}; + int[] actual = solution.solution(inputArray, inputdivisor); + assertArrayEquals(expected, actual, "원하는 배열이 출력되지 않았습니다."); + } + + @Test + void testSolution3() { + int[] inputArray = {3, 2, 6}; + int inputdivisor = 10; + int[] expected = {-1}; + int[] actual = solution.solution(inputArray, inputdivisor); + assertArrayEquals(expected, actual, "원하는 배열이 출력되지 않았습니다."); + } +}