오늘 내 수준보다 어려운 알고리즘 문제를 접했는데, 소수를 판별하는 기능을 가지고 있어야만 해결할 수 있는 케이스였다. 당황스러워서 두 시간을 그 문제만 붙잡고 있었는데 결국 풀지 못했다.
헬스장에서 무엇이 문제였는지 곰곰이 생각해 봤는데, 놀랍게도 답이 나왔다!
잊어버리기 전에 급하게 기록을 남긴다.
소수는 1보다 큰 자연수 중 1과 자기 자신만을 약수로 가지는 수다.
2, 3, 5, 7, 11, 13, 17 등이 이에 해당한다.
자바스크립트로 주어진 숫자가 소수인지 아닌지 판별하기 위해서는 반복문을 활용해야 한다.
실제 코드를 작성하기 전에 의사 코드를 만들었다.
function findPrime (num) {
if (num < 2) return "2 이상의 수를 입력해 주십시오.";
for (let i = 2; i <= num; i++) {
if (i === num) return true;
if (num % i === 0) {
return false;
}
}
}
잘 작동한다.
다만 예외가 있을 수 있으니 테스트 코드를 작성하는 방법을 공부해서 직접 테스트 케이스를 돌려봐야겠다.