코드노트

자바스크립트 알고리즘 등차수열의 항 찾기 본문

Code note/자바스크립트 알고리즘 문제풀이

자바스크립트 알고리즘 등차수열의 항 찾기

코드노트 2022. 8. 22. 00:06

등차수열의 항을 찾는 방법!

항 번호가 없는 경우에는 -1을 반환시키도록 한다!

 

ex) 초항은 1, 공차는 2 일 때 1, 3, 5, 7 의 7에 해당하는 항을 반환시켜라.

// 입력값 a = 1, d = 2, n = 7 // 출력 값 4

f(1) = 1

f(2) = 3

f(3) = 5

f(4) = 7

 

1. for문으로 찾는 방법.

function permutation(a, d, n) {
	let index = -1
	let sum;
    
    for(let i = 1; ; i++){
        sum = a + d * (i - 1);
        if(sum > n) {
        	index = -1;
            break;
        }
        if(sum == n) {
        	index = i;
            break;
        }
    }
}

- 먼저 변수를 만들어서 변수에 for문으로 찾는 항의 수를 구한다.

- for문을 돌릴 때 항 번호를 모르기 때문에 while문처럼 무한 으로 돌리면서 조건에 맞으면 break를 준다.

- sum 변수에 a + d * (i - 1) 을 넣어준다.

- 그리고 조건으로 sum이 n값보다 클경우에는 항 번호가 없으므로 -1을 출력한다.

- sum과 n값이 같으면 i 를 반환하여 7이 해당하는 항을 출력한다.

 

 

2. if 조건문으로 찾는 방법

if ((n - a) % d == 0) {
	index = (n - a) / d + 1;
} else {
	index = -1;
}

- if조건문을 통해서 찾으려는 항의 수 - 초항 %나머지가 0일경우에 찾으려는 항의 수 / 나누기 공차 + 1 을 반환하면 해당하는 항의 수를 구할 수 있다.

 

 

 

알고리즘문제는 반복하는 방법말고는 방법이 없나보다..

반복하면서 문제를 풀게 될수록 이해도가 올라가게 되는거 같다.