programmers

[Programmers Level 0] 합성수 찾기 Javascript

2022. 11. 25. 13:17
목차
  1. 문제정보
  2. 예시
  3.  
  4.  
  5. 나의풀이
  6. 다른사람의 풀이

문제정보

 

 

 

정수 n이 매개변수로 주어지고

n이하의 합성수의 개수를 리턴하는 문제입니다.

합성수란 약수가 3개이상인 수를 뜻한다고하네요

 

예컨대4는 1,2,4로 나눠지기때문에 합성수이고

3은 1,3으로만 나눠지기때문에 합성수가아닙니다.

 

이것도 예전에 풀어보다가 막혀서 남겨뒀던 문제인데

오늘 다시 풀어보니 풀리네요..

 

저는 for문을 중첩해서 문제를 풀었습니다.


 

예시

 

n	result
10	5
15	8

 


 

 

나의풀이

function solution(n) {
    let answer = 0
    for(i=1; i<=n; i++) {
        let counter = 0
        for(j=1; j<=i ; j++) {
            if(i%j == 0) {
                counter += 1
            }
        }
        if(counter > 2) {
            answer += 1
        }
    }
    return answer
}

 

n이하의 합성수의 개수를 저장해줄 answer 변수를 전역으로 선언합니다.

기본적으로 0으로 선언해주는것으로 만약 n < 4일 경우 합성수가 하나도 없으니

합성수가 없는 경우 0을 반환할 수 있도록 해줍니다.

 

i for문이 새로 시작할때마다 counter를 0으로 초기화해주기 위해

counter를 0으로 선언해줍니다.

그리고 만약 i % j가 0이라면 j는 i의 약수라는 뜻이니

counter 의 값을 올려주고

만일 counter가 3이상이라면 answer 값을 올려줬습니다.

 


다른사람의 풀이

function solution(n) {
    if (n === 1) return 0;
    if (n === 2) return 0;
    if (n === 3) return 0;
    if (n === 4) return 1;
    if (n === 5) return 1;
    if (n === 6) return 2;
    if (n === 7) return 2;
    if (n === 8) return 3;
    if (n === 9) return 4;
    if (n === 10) return 5;
    if (n === 11) return 5;
    if (n === 12) return 6;
    if (n === 13) return 6;
    if (n === 14) return 7;
    if (n === 15) return 8;
    if (n === 16) return 9;
    if (n === 17) return 9;
    if (n === 18) return 10;
    if (n === 19) return 10;
    if (n === 20) return 11;
    if (n === 21) return 12;
    if (n === 22) return 13;
    if (n === 23) return 13;
    if (n === 24) return 14;
    if (n === 25) return 15;
    if (n === 26) return 16;
    if (n === 27) return 17;
    if (n === 28) return 18;
    if (n === 29) return 18;
    if (n === 30) return 19;
    if (n === 31) return 19;
    if (n === 32) return 20;
    if (n === 33) return 21;
    if (n === 34) return 22;
    if (n === 35) return 23;
    if (n === 36) return 24;
    if (n === 37) return 24;
    if (n === 38) return 25;
    if (n === 39) return 26;
    if (n === 40) return 27;
    if (n === 41) return 27;
    if (n === 42) return 28;
    if (n === 43) return 28;
    if (n === 44) return 29;
    if (n === 45) return 30;
    if (n === 46) return 31;
    if (n === 47) return 31;
    if (n === 48) return 32;
    if (n === 49) return 33;
    if (n === 50) return 34;
    if (n === 51) return 35;
    if (n === 52) return 36;
    if (n === 53) return 36;
    if (n === 54) return 37;
    if (n === 55) return 38;
    if (n === 56) return 39;
    if (n === 57) return 40;
    if (n === 58) return 41;
    if (n === 59) return 41;
    if (n === 60) return 42;
    if (n === 61) return 42;
    if (n === 62) return 43;
    if (n === 63) return 44;
    if (n === 64) return 45;
    if (n === 65) return 46;
    if (n === 66) return 47;
    if (n === 67) return 47;
    if (n === 68) return 48;
    if (n === 69) return 49;
    if (n === 70) return 50;
    if (n === 71) return 50;
    if (n === 72) return 51;
    if (n === 73) return 51;
    if (n === 74) return 52;
    if (n === 75) return 53;
    if (n === 76) return 54;
    if (n === 77) return 55;
    if (n === 78) return 56;
    if (n === 79) return 56;
    if (n === 80) return 57;
    if (n === 81) return 58;
    if (n === 82) return 59;
    if (n === 83) return 59;
    if (n === 84) return 60;
    if (n === 85) return 61;
    if (n === 86) return 62;
    if (n === 87) return 63;
    if (n === 88) return 64;
    if (n === 89) return 64;
    if (n === 90) return 65;
    if (n === 91) return 66;
    if (n === 92) return 67;
    if (n === 93) return 68;
    if (n === 94) return 69;
    if (n === 95) return 70;
    if (n === 96) return 71;
    if (n === 97) return 71;
    if (n === 98) return 72;
    if (n === 99) return 73;
    if (n === 100) return 74;
    return undefined;
}

개고수 ㄷㄷ

 

 

반응형
저작자표시 비영리 (새창열림)

'programmers' 카테고리의 다른 글

[Programmers Level 0] 가까운수 Javascript  (0) 2022.11.25
[Programmers Level 1] 진료 순서 정하기 Javascript  (0) 2022.11.25
[Programmers Level 0] 팩토리얼 Javascript  (0) 2022.11.25
[Programmers Level 0] 중복된 문자 제거 Javascript  (0) 2022.11.25
[Programmers Level 0] 피자 나눠 먹기(2) Javascript  (1) 2022.11.25
  1. 문제정보
  2. 예시
  3.  
  4.  
  5. 나의풀이
  6. 다른사람의 풀이
'programmers' 카테고리의 다른 글
  • [Programmers Level 1] 진료 순서 정하기 Javascript
  • [Programmers Level 0] 팩토리얼 Javascript
  • [Programmers Level 0] 중복된 문자 제거 Javascript
  • [Programmers Level 0] 피자 나눠 먹기(2) Javascript
냠냠맨
냠냠맨
프론트엔드 개발 전반을 다루는 기술 블로그입니다.
냠냠맨
React와 TypeScript를 좋아하는 개발자
냠냠맨
전체
오늘
어제
  • all category (434)
    • CMC (0)
    • best (11)
    • 년간회고 (1)
    • cheetsheet (15)
    • 프로젝트 회고 (3)
    • 서평 (3)
    • SEO Study (1)
    • 프로젝트 진행기 (10)
    • testcode (9)
    • yarnberry (7)
    • css (21)
    • typescript (15)
    • redux (7)
    • react (43)
    • Next.js (9)
    • Nestjs (3)
    • javascript (44)
    • programmers (67)
    • leetcode (41)
    • frontend (41)
    • backjoon (1)
    • Next.js Beta Docs 번역 (12)
    • TIL (15)
      • html (3)
    • Network (12)
      • 간단 정리 시리즈 (2)
      • 질답 준비 (0)
    • 자료구조와 알고리즘 (2)
    • CS (4)
      • OS (1)
    • 취업준비 (2)
    • zoom websocket (2)
    • talk (6)
    • 면접대비 (1)
    • 코드스테이츠 프론트 (5)
    • 간헐적 회고 (18)

블로그 메뉴

  • leetcode
  • programmers
  • javascript
  • html
  • css

공지사항

인기 글

태그

  • 프론트엔드
  • teosprint
  • 개발자
  • 말풍선
  • JavaScript
  • LeetCode
  • 테오의스프린트17기
  • frontend
  • 주니어개발자
  • border말풍선
  • 코드스테이츠 #프론트엔드
  • 개발
  • 테오의스프린트
  • CSS

최근 댓글

최근 글

hELLO · Designed By 정상우.
냠냠맨
[Programmers Level 0] 합성수 찾기 Javascript
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.