[프로그래머스][JS] 숫자의 표현

2023. 9. 6. 09:40·IT/BOJ 문제정리

문제

Finn은 요즘 수학공부에 빠져 있습니다.
수학 공부를 하던 Finn은
"자연수 n을 연속한 자연수들로 표현 하는 방법"이
여러개라는 사실을 알게 되었습니다.
예를들어 15는 다음과 같이 4가지로 표현 할 수 있습니다.

1 + 2 + 3 + 4 + 5 = 15
4 + 5 + 6 = 15
7 + 8 = 15
15 = 15

자연수 n이 매개변수로 주어질 때, 
연속된 자연수들로 n을 표현하는 방법의 수를 
return하는 solution를 완성해주세요.

조건

1. n은 10,000 이하의 자연수 입니다.

솔루션

function solution(n) {
  let answer = 0;

  for(let i = 0; i <= n; i++) {
      if(n%i === 0 && i%2 === 1) answer++;
  }

  return answer;
}
  • "주어진 자연수를 연속된 자연수의 합으로 표현하는 방법의 수"와 "주어진 수의 홀수인 약수의 수"는 같다.
  • 15의 약수는 1, 3, 5, 15 이고 이 중 홀수는 4개이다.
  1. 약수 1 => 연속하는 1개 자연수의 합으로 표현 가능
    15 = 15
  2. 약수 3 => 연속하는 3개 자연수의 합으로 표현 가능
    15를 3으로 나눈값인 5로 표현할 수 있다.
    5 + 5 + 5 = 15 => 3 + 4 + 5 = 15
  3. 약수 5 => 연속하는 5개 자연수의 합으로 표현 가능
    15를 5로 나눈값인 3으로 표현할 수 있다.
    3 + 3 + 3 + 3 + 3 = 15 => 1 + 2 + 3 + 4 + 5 = 15
  4. 약수 15 => 모든 홀수(2n+1)는 n과 n+1로 표현 가능
    7 + 8 = 15

'IT > BOJ 문제정리' 카테고리의 다른 글

[프로그래머스][JS] N개의 최소공배수  (0) 2023.09.13
[프로그래머스][JS] 피보나치 수  (1) 2023.09.09
[복기] 2252번: 줄 세우기  (0) 2023.05.17
[복기] 1655번: 가운데를 말해요  (0) 2023.05.15
[복기] 6549번: 히스토그램에서 가장 큰 직사각형  (0) 2023.05.15
'IT/BOJ 문제정리' 카테고리의 다른 글
  • [프로그래머스][JS] N개의 최소공배수
  • [프로그래머스][JS] 피보나치 수
  • [복기] 2252번: 줄 세우기
  • [복기] 1655번: 가운데를 말해요
KimCookieYa
KimCookieYa
무엇이 나를 살아있게 만드는가
  • KimCookieYa
    쿠키의 주저리
    KimCookieYa
  • 전체
    오늘
    어제
    • 분류 전체보기 (572)
      • 혼잣말 (87)
      • TIL (2)
      • 커리어 (24)
        • Sendy (21)
        • 외부활동 기록 (2)
      • 프로젝트 (186)
        • 티스토리 API (5)
        • 코드프레소 체험단 (89)
        • Web3 (3)
        • Pint OS (16)
        • 나만무 (14)
        • 대회 (6)
        • 정글 FE 스터디 (16)
        • MailBadara (12)
        • github.io (1)
        • 인공지능 동아리, AID (5)
        • 졸업과제 (18)
        • OSSCA 2024 (1)
      • 크래프톤 정글 2기 (80)
      • IT (167)
        • 코딩 (4)
        • CS (18)
        • 에러 (5)
        • 블록체인 (23)
        • Front-End (38)
        • 알고리즘&자료구조 정리 (3)
        • 코딩테스트 (3)
        • BOJ 문제정리 (41)
        • WILT (12)
        • ML-Agents (4)
        • 강화학습 (1)
        • Android (0)
        • LLM (2)
      • 전공 (1)
        • 머신러닝 (1)
      • 자기계발 (20)
        • 빡공단X베어유 (2)
        • 독서 (15)
  • 블로그 메뉴

    • 홈
    • 방명록
    • Github
    • Velog
    • 관리
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    부산대
    졸업과제
    핀토스
    MailBadara
    머신러닝
    pintos
    JavaScript
    자바스크립트
    블록체인
    사이드프로젝트
    코드프레소
    RNN
    프로그래머스
    크래프톤정글
    위상정렬
    해커톤
    Flutter
    나만무
    글리치해커톤
    react
    알고리즘
    리액트
    NEAR Protocol
    docker
    니어프로토콜
    OS
    딥러닝
    numpy
    파이썬
    Pint OS
  • hELLO· Designed By정상우.v4.10.3
KimCookieYa
[프로그래머스][JS] 숫자의 표현
상단으로

티스토리툴바