# 문제
https://programmers.co.kr/learn/courses/30/lessons/12977?language=java
# 자바 풀이
import java.util.ArrayList;
class Solution {
public int solution(int[] nums) {
int answer = 0;
int len = nums.length;
ArrayList<Integer> sum = new ArrayList<Integer>();
for (int i = 0; i<len; i++) {
if (i + 2 >= len) { break; }
for (int j = i + 1; j < len; j++) {
for (int k = j + 1; k <len; k++) {
sum.add(nums[i] + nums[j] + nums[k]);
}
}
}
// 소수 판결
for (int i = 0; i < sum.size(); i++) {
int number = 2;
while(number < sum.get(i)) {
if (sum.get(i) % number == 0) { // 소수가 아님
answer--;
break;
}
number++;
}
answer++;
}
return answer;
}
}
# 한 줄 느낌
모든 경우의 수를 for 문을 통해서 만들어야 했다. 더 좋은 방법이 있나 고민을 했던 것 같다..
소수를 구분하기 위해서 3자리 수를 더한 수를 나눠줘야 한다는 방법도 고민이 컸었다.
'𝑪𝒐𝒅𝒊𝒏𝒈 𝑻𝒆𝒔𝒕' 카테고리의 다른 글
[프로그래머스] 3진법 뒤집기 (0) | 2022.10.16 |
---|---|
[프로그래머스] 약수의 합 (0) | 2022.10.13 |
[프로그래머스] 로또의 최고 순위와 최저 순위 (0) | 2022.04.15 |
[프로그래머스] 짝지어 제거하기 (0) | 2022.03.12 |
프로그래머스 - 주차 요금 계산 (0) | 2022.02.22 |