본문 바로가기
코딩테스트 연습

배열내 세개의 숫자의 합이 소수인 개수 구하기.

by 고유빙글 2021. 8. 20.
public class primeNumber {
	public static void main(String[] args) {
		
		//소수의 개수 구하기
		int[] nums = {1,2,3,4};
		int answer = solution(nums);
		System.out.println(answer);
	}

	private static int solution(int[] nums) {
		int answer = 0;
		int test = 0;
		boolean flag = true;
		
		for (int i = 0; i < nums.length-2; i++) {
			for (int j = i+1; j < nums.length-1; j++) {
				for (int l = j+1; l < nums.length; l++) {
					test = nums[i]+nums[j]+nums[l];
					for (int k = 2; k < test; k++) {
						if(test%k==0) {
							flag = false;
						}
					}
					
					if(flag==true) {
						answer++;
						System.out.println("i : "+nums[i]);
						System.out.println("j : "+nums[j]);
						System.out.println("l : "+nums[l]);
						System.out.println(answer);
						System.out.println("=====");
					}
					flag = true;
				}
			}
		}
		
		
		return answer;
	}
}

처음으로 다른사람의 풀이와 유사했다. 시간복잡도를 낮추고싶었지만 이게 최선이 아닐까 한다.