BaGyun
빠균's 개발노트
BaGyun
전체 방문자
오늘
어제
  • 분류 전체보기 (71)
    • Today I Learned (44)
      • 오류 (8)
      • JavaScript (15)
      • TypeScript (9)
      • NodeJS (0)
      • NestJS (0)
      • Database (3)
      • ORM (1)
      • 알고리즘 (2)
      • 개인공부 (4)
      • Deploy (0)
      • Git (1)
    • 개인프로젝트 (4)
    • 알고리즘 (14)
      • 프로그래머스 (14)
    • 면접질문 (5)
    • 회고 (3)

인기 글

반응형

블로그 메뉴

  • 홈
  • 태그
  • 방명록
hELLO · Designed By 정상우.
BaGyun

빠균's 개발노트

알고리즘/프로그래머스

[프로그래머스] 약수의 개수와 덧셈

2022. 7. 29. 20:09
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

나의 풀이

function solution(left, right) {
    var answer = 0;
    let arr = []
    for(i=left; i<=right; i++){
        arr.push(i)
    }
    for(j=0; j<arr.length; j++){
        answer += divisors(arr[j])
    }
    return answer;
}

function divisors(integer) {
    let result = 0;
    let count = 0;
    for(var i=1; i<=integer; i++) {
        if (integer % i === 0) {
            count++
    }
}
    if(count % 2 === 0){
       result = integer
    } else {
       result = -integer
    }
    return result
}

약수의 개수를 구해주는 함수를 따로 만들고, 그 함수에서 홀수개와 짝수개를 구한다음 들어간 값을 반환해주는 식으로 적었는데 참 어렵게도 푼 거 같다.

베스트 풀이

function solution(left, right) {
    var answer = 0;
    for (let i = left; i <= right; i++) {
        if (Number.isInteger(Math.sqrt(i))) {
            answer -= i;
        } else {
            answer += i;
        }
    }
    return answer;
}

베스트 풀이를 봤는데 진짜 간단하게 푼걸보고 약간의 허탈감과 신기했다.

제곱근이 정수면 약수의 개수가 홀수다

'알고리즘 > 프로그래머스' 카테고리의 다른 글

[프로그래머스] 예산  (0) 2022.08.02
[프로그래머스] 3진법 뒤집기  (0) 2022.08.02
[프로그래머스] 실패율  (0) 2022.07.29
[프로그래머스] 모의고사  (0) 2022.07.29
[프로그래머스] 폰켓몬  (0) 2022.07.28
    '알고리즘/프로그래머스' 카테고리의 다른 글
    • [프로그래머스] 예산
    • [프로그래머스] 3진법 뒤집기
    • [프로그래머스] 실패율
    • [프로그래머스] 모의고사
    BaGyun
    BaGyun

    티스토리툴바