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 |
Tags
- setDate
- reat if문
- repeat()
- 소수점 올림내림
- useState()
- isNaN()
- indexOf()
- charAt()
- filter()
- 차집합
- React
- jsx반복문
- Number()
- useEffect()
- useRef()
- 교집합
- 3진수
- Math.sqrt()
- slice()
- 항해99솔직후기 #항해99장점 #항해99단점 #부트캠프추천
- new Date()
- map()
- getday()
- Math.floor()
- sort()
- substring()
- toUpperCase()
- includes()
- parseInt()
- Eventlitener
Archives
- Today
- Total
개발자로 전향중
[프로그래머스] 약수의 개수와 덧셈 본문
문제 설명
문제 풀이
function solution(left, right) {
var answer = 0;
for (let i = left; i <= right; i++) {
let arr = []
for (let j = 0; j <= i; j++) {
if(i % j === 0) {
arr.push(j)
}
}
if(arr.length % 2 === 0) {
answer += i
} else {
answer -= i
}
}
return answer;
}
하지만 시작 복잡도가 O의 n제곱
더 나은 풀이
function solution(left, right) {
let answer = 0;
for (let i = left; i <= right; i++) {
// i가 완전 제곱수인지 확인
if (Number.isInteger(Math.sqrt(i))) {
answer -= i; // 약수의 개수가 홀수인 경우
} else {
answer += i; // 약수의 개수가 짝수인 경우
}
}
return answer;
}
시간 복잡도 O의 n
'자료구조&알고리즘' 카테고리의 다른 글
[프로그래머스] 같은 숫자는 싫어 - 스택 (0) | 2024.09.30 |
---|---|
[프로그래머스] 행렬의 덧셈 - 이차원 배열 (0) | 2024.09.30 |
[프로그래머스] 정수 제곱근 판별 - 이진탐색 (0) | 2024.09.26 |
[프로그래머스] 문자열 내 p와 y의 개수 - 배열(빈도수 세기) (0) | 2024.09.24 |
[프로그래머스] 정수 내림차순으로 배치하기 - 배열(지수정렬) (0) | 2024.09.24 |