프로그래머스 | 소수 만들기_JS

난이도 : Level. 1
언어 : Javascript
출제 내역 : Summer/Winter Coding(~2018)

❓ Question

주어진 숫자 배열에서 무작위로 3개의 수를 더해 나온 값 중에서
소수가 몇개인지 알아내라.

📝 My Solution

전체 풀이 코드 👈🏻 클릭시 Github로 이동

function solution(nums) {
    var answer = 0;
    let sumNum = 0;
    let check = false;
        for (let x = 0; x<nums.length; x++) {
            for (let y = x+1; y<nums.length; y++) {
                for (let z = y+1; z<nums.length; z++) {
                    sumNum = nums[x] + nums[y] + nums[z]

우선 배열에서 중복없이 3가지 숫자를 더해야 하기 때문에
반복문을 3번 돌려서 3가지 숫자를 더한 값을 도출해줍니다.

for(let i = 2; i<sumNum; i++) {
	if (sumNum%i === 0) {
    	check = false
        break;
    } else {
    	check = true
    }
 }

그 이후, 나머지가 1과 자기자신을 제외한 값을 나눠주는데,
이 때, 나머지가 0이라면 소수가 아닌게 되니 false를 반환하고
반복문을 종료해줍니다.

모든 과정을 거치면 true를 반환해줍니다.

if(check === true) {
	answer++
    }
   }
  }
 }
    return answer;
}

마지막으로 true를 확인하고, 갯수를 나타내는 answer를 1 올려줍니다.

결과

소수를 찾는 과정에서 조금 시간이 걸렸지만
그래도 풀어내니 기분은 좋군요 ㅎㅎ

좋은 웹페이지 즐겨찾기