알고리즘 문제

[3일차] 프로그래머스 Lv.1

잼굴 2022. 10. 22. 00:14

 

문제 1   x만큼 간격이 있는 n개의 숫자

 

풀이순서: 

1. for 반복문을 사용한다.

2. 반복해서 계산한 값을 순서대로 배열에 넣는다.

 

사용문법:

for() : 반복문

arr.push() : 배열에 순서대로 넣는다.

function solution(x, n) {
    var answer = [];
    for(i=1; i<n+1; i++){
        answer.push(x*i)
    }
    return answer;
}

 

 

문제 2  콜라츠 추측

 

 

풀이순서

1. while 반복문을 사용한다.

2. if문을 통해서 주어진 계산을 한다.

3. 입력받은 수가 계산을 통해 1이 되면 카운트를 출력한다.

4. 카운트가 500을 초과하면 -1을 출력한다.

 

사용문법 

while() : 무한반복문

if() else if() else(): 조건문

 

헤멘것:

1. break를 사용하려다 보니 조금 꼬였었다.

2. 카운트를 어떻게 써야할지 몰랐었다.

 

function solution(num) {
     let cnt = 0
     while(cnt<500){
         if(num==1){return cnt}
         else if(num%2==0){
            num = num/2
         }
         else(num = num*3+1)
         cnt+=1
     }
}