Algorithm
[cospro] 합이 k가 되는 배수
taeveloper
2022. 2. 18. 16:14
02 COS PRO 1급 JAVA 2차
100%
[2차] 문제4) 합이 k 배가 되는 수 - JAVA
실습 내용
□ 문제설명
자연수가 중복 없이 들어있는 배열이 있습니다. 이 배열에서 합이 K의 배수가 되도록 서로 다른 숫자 세개를 고르는 방법은 몇 가지인지 세려고 합니다.
자연수가 들어있는 배열 arr와 arr의 길이 arr_len이 매개변수로 주어질 때, 이 배열에서 합이 K의 배수가 되도록 서로 다른 숫자 세개를 고르는 방법의 가짓수를 return 하도록 solution 함수를 완성해주세요.
□ 매개변수 설명
자연수가 들어있는 배열 arr와 arr의 길이 arr_len이 solution 함수의 매개변수로 주어집니다.
- arr_len은 3 이상 100 이하의 자연수입니다.
- arr에는 1 이상 1,000 이하의 자연수가 중복 없이 들어있습니다.
- K는 1 이상 10 이하의 자연수입니다.
□ return 값 설명
배열에서 합이 K의 배수가 되도록 서로 다른 숫자 세개를 고르는 방법의 가짓수를 return 해주세요.
- 그러한 방법이 없다면 0을 return 하면 됩니다.
□ 예시
arr | arr_len | K | return |
[1,2,3,4,5] | 5 | 3 | 4 |
□ 예시설명
다음과 같이 4가지 방법이 있습니다.
- 1 + 2 + 3 = 6
- 1 + 3 + 5 = 9
- 2 + 3 + 4 = 9
- 3 + 4 + 5 = 12
package com.example.codingtest.cospro.second;
public class 합이k가되는배수 {
public static void main(String[] args) {
int[] arr = {1,2,3,4,5};
int K = 3;
System.out.println(solution(arr, K));
}
public static int solution(int[] arr, int K){
int answer = 0;
for(int i = 0; i < arr.length; i++){
for(int j = i + 1; j < arr.length; j++){
for(int k = j + 1; k < arr.length; k++){
if((arr[i] + arr[j] + arr[k]) % 3 == 0) answer++;
}
}
}
return answer;
}
}