[Programmers] 프로그래머스 181935. Lev 0 - 등비수열의 합

Jinny·2024년 12월 28일
0
  • 날짜 / 누적횟수: 12.28 (토) / 14회
  • 사이트 이름: 프로그래머스
  • 사용 언어: 자바스크립트
  • 문제 고유 번호 및 레벨: 181935, Lev/ 0
  • 코드 실행 시간: 0.03ms
  • 나의 풀이 방법:
    function solution(n) {
        let result = 0;
        
        if (n % 2 === 1) {
            for (let i = 1; i <= n; i += 2) {
                result += i;
            }
        } else {
            for (let i = 2; i <= n; i += 2) {
                result += i * i;
            }   
        }
        
        return result;
    }
    • 홀수 → 일반 for 문을 활용하여 result변수에 더하기
    • 짝수 → 일반 for 문을 활용하여 result 변수에 제곱의 합 더하기
  • 최적 풀이 방법:
    function solution(n) {
        if(n % 2 === 1)
          return  (n + 1)/2 * ((n + 1)/2) ;
        else
          return   n * (n + 1) * (n + 2)/6;
    }
    • 홀수 → 등차 수열의 합
    • 짝수 → 자연수 거듭 제곱의 합
  • 배운 개념:
    • 등차수열
      • 연속하는 두 항의 차이가 모두 일정한 수열
      • 등차수열의 합 공식 =
        • 항의 개수 * (첫 항 + 끝항) / 2
    • 자연수 거듭 제곱의 합 공식
      • n (n + 1) (n + 2) / 6
profile
세상을 이롭게 하는 프론트엔드 개발자 Jinny

0개의 댓글

관련 채용 정보