Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- React.StrictMode
- 이중지도
- 2023카카오블라인드코테
- 알고리즘 문제풀이
- Lv2
- DP
- 코어자바스크립트
- 과제진행하기
- JS
- Lv3
- 5강클로저
- [pccp 기출문제]
- c++
- 스택
- 최소스패닝트리
- 타겟넘버
- 알고리즘문제풀이
- 프로그래머스
- 지도 여러개
- div2개
- 정렬
- 백준알고리즘
- 비트마스크
- 우박수열정적분
- JS스터디
- solved.ac골드
- 백준 알고리즘
- 두원사이의정수쌍
- pccp기출문제
- solved.ac플래티넘
Archives
- Today
- Total
호지
[프로그래머스] 소수 만들기 문제풀이 JS 본문
nums에서 3개의 수를 뽑기 위해 3중 for문을 돌렸다.
그리고 3개의 수의 합에 대해 소수판별을 하기 위해,
3개의 수를 더한 값 num을 만들고
2부터 n*n이 num인 순간까지 나누어 떨어지는 수가 있는지 판별하고,
나누어 떨어지는 수가 없었다면 해당 수는 소수이기 때문에
answer값을 1증가 한다.
위 과정을 반복하면 nums에서 3개의 수를 뽑아 더했을때
소수인 경우의 수를 모두 구할 수 있다.
function solution(nums) {
var answer = 0
for (let i = 0; i < nums.length; i++) {
for (let j = i + 1; j < nums.length; j++) {
for (let k = j + 1; k < nums.length; k++) {
let num = nums[i] + nums[j] + nums[k]
let n = 0
for (n = 2; n * n <= num; n++) {
if (num % n === 0) {
break
}
}
if (n * n > num) answer++
}
}
}
return answer
}
https://school.programmers.co.kr/learn/courses/30/lessons/12977
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 두 원 사이의 정수 쌍 문제풀이 JS (0) | 2023.08.27 |
---|---|
[프로그래머스] 직사각형 별찍기 문제풀이 JS (0) | 2023.08.11 |
[프로그래머스] 예산 문제풀이 JS (0) | 2023.08.11 |
[프로그래머스] 1차 비밀지도 문제풀이 JS (0) | 2023.08.10 |
[프로그래머스] 1차 다트 게임 문제풀이 JS (0) | 2023.08.10 |
Comments