-
[프로그래머스] 소수 만들기개발공부/코딩테스트 연습문제 2022. 1. 4. 17:44
문제 설명과 제한사항

풀이
class Solution { public int solution(int[] nums) { int count = 0; int sum = 0; for(int i = 0; i < nums.length-2; i++){ for(int j = i+1; j < nums.length-1 ; j++){ for(int z = j+1; z < nums.length ; z++){ sum = nums[i] + nums[j] + nums[z]; if(primenum(sum)) count++; } } } return count; } public boolean primenum(int num){ for(int i = 2; i < num; i++){ if(num % i == 0) return false; } return true; } }++
문제는 쉬웠다.
소수 구하는 알고리즘이 귀찮아서 방법만 찾아보고 코드는 내가 짰다.
근데 정말 하기 싫었던 이유는 반복문이 3개나 겹쳐서 실행 속도가 너무 걸릴거 같았다.
심지어 반복문안에 함수도 반복문이다.
이게 무슨일인가 싶었다.
그럼에도 저 방법밖에 모르기에 저렇게 했다.
그래서 그런지 z = i+2 라는 멍청한 실수를 했다.
화장실 다녀오니 바로 보여서 수정했다.
제출하면서 실행속도에 기겁했다.
참고 하고 싶어 다른분들 코드도 봤지만.. 건진건 없었다.
'개발공부 > 코딩테스트 연습문제' 카테고리의 다른 글
[프로그래머스] 폰켓몬 (0) 2022.01.06 [프로그래머스] 완주하지 못한 선수 (0) 2022.01.06 [프로그래머스] 음양 더하기 (0) 2022.01.04 [프로그래머스] 내적 (0) 2022.01.04 [프로그래머스] 없는 숫자 더하기 (0) 2022.01.04