[TIL] 카테고리/알고리즘 문제풀기
[자바스크립트] 프로그래머스 Lv.1 소수 만들기
티레이니
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