-
[자바스크립트] 프로그래머스 Lv.1 소수 만들기[TIL] 카테고리/알고리즘 문제풀기 2022. 5. 18. 09:50
시간 꽤나 쓴 과제. 다른거 2~3개 풀고도 남을 시간동안 끙끙거렸는데
대단한 메소드를 써서가 아니라 단순히 수학을 못해서(...)라 좀 슬펐다.
소수 쉽게 구하는 방법 없나...?
for (i=0; i < nums.length; i++) { for (j=i+1; j < nums.length; j++) { for (k=j+1; k < nums.length; k++) { // for문을 중첩시켜 모든 조합을 찾음 temp = nums[i] + nums[j] + nums[k] //숫자 3개의 조합을 temp에 넣음 for (l=2; l<temp; l++) { // temp를 2 부터 temp-1 까지의 수로 나누어봄 temp2 += temp%l === 0 // 만약 temp가 무언가로 나누어 떨어진다면 temp2 에 숫자가 올라감 } if (temp2 === 0) { // 나누어지는 값이 없었을때만 answer = answer +1 // 정답에 1 추가 temp2 = 0 //그리고 temp2 초기화 } else {temp2 = 0} //소수가 아니었어도 temp2 초기화 } } }
for문을 중첩시켜 모든 조합의 경우의 수를 찾아서 일일히 소수인지 확인했다.
보나마나 더 효율적인 방법이 있겠지만... 몰라요 ㅠ
코딩테스트 연습 - 소수 만들기
주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때
programmers.co.kr
'[TIL] 카테고리 > 알고리즘 문제풀기' 카테고리의 다른 글
[자바스크립트] 프로그래머스 Lv.1 시저 암호 (0) 2022.05.18 [자바스크립트] 프로그래머스 Lv.1 숫자 문자열과 영단어 (0) 2022.05.18 [자바스크립트] 프로그래머스 Lv.1 문자열 내림차순으로 배치하기 (0) 2022.05.18 [자바스크립트] 프로그래머스 Lv.1 문자열 내 마음대로 정렬하기 (0) 2022.05.18 [자바스크립트] 프로그래머스 Lv.1 모의고사 (0) 2022.05.17