알고리즘 공부 - Day14

설하나·2022년 11월 21일
0

알고리즘

목록 보기
14/22

오늘의 알고리즘!!

1. 3,6,9

[문제 상황]

자연수 order이 주어지고 이수에 3,6,9 중 포함된 만큼의 수를 리턴

[풀이 코드]

function solution(order) {
    var answer = 0;
    String(order).split("").map((ele)=>{
        if(ele==='3') answer+=1
        if(ele==='6') answer+=1
        if(ele==='9') answer+=1
    })
    return answer;
}

[문제 해결 방향]

주어진 숫자를 문자로 만든다음에 이를 split()로 분해하고 map()을 돌면서 수가 있으면 answer에 누적하도록 구성해보았다.


2. 합성수 찾기

[문제 상황]

약수의 개수가 세 개 이상인 수는 합성수이다. 자연수 n이 매개변수로 주어질 때 n이하의 합성수의 개수를 리턴

[풀이 코드]

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

[문제 해결 방향]

주어진 숫자를 중첩 for()문을 반복하면서 만약 어떠한 수라도 나눈 수의 나머지가 0이라면 이미 합성수가 3개이상이기때문에 1을 더하고 종료하면된다.

profile
Backend

0개의 댓글