小数を作成
問題の説明
与えられた数字のうち3つの数字を小数に加算すると、個数を求めてみます.数値を持つ配列numsをパラメータとする場合は、solution関数を完了してnumsの3つの異なる数値の小数を返します.
せいげんじょうけん
I/O例
nums result
[1,2,3,4] 1
[1,2,7,6,4] 4
私のコメント(JAVA)
import java.util.ArrayList;
class Solution {
public int solution(int[] nums) {
int answer = 0;
ArrayList<Integer> arr = new ArrayList<>();
for (int i=0; i<nums.length-2; i++) {
for (int j=i+1; j<nums.length-1; j++) {
for (int k=j+1; k<nums.length; k++) {
arr.add(nums[i]+nums[j]+nums[k]);
}
}
}
for (int a : arr) {
boolean flag = true;
for (int i=2; i<=Math.sqrt(a); i++) {
if (a%i == 0) {
flag = false;
break;
}
}
if (flag) answer++;
}
return answer;
}
}
他の人の解答(JAVA)
import java.util.Arrays;
class Solution {
public int solution(int[] nums) {
int answer = 0;
for (int i=0; i<nums.length-2; i++) {
for (int j=i+1; j<nums.length-1; j++) {
for (int k=j+1; k<nums.length; k++) {
if (isPrime(nums[i]+nums[j]+nums[k])) {
answer++;
}
}
}
}
return answer;
}
public Boolean isPrime(int num) {
int cnt = 0;
for (int i=1; i<=(int)Math.sqrt(num); i++) {
if (num%i == 0) cnt++;
}
return cnt == 1;
}
}
Reference
この問題について(小数を作成), 我々は、より多くの情報をここで見つけました https://velog.io/@ehcho/소수-만들기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol