Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 자바스크립트 알고리즘
- CSS
- 자바스크립트 알고리즘 문제
- 자바스크립트 문제 풀이
- 자바스크립트
- JavaScript
- 자바스크립트 연결리스트
- til
- 리액트
- HTML
- 프론트엔드
- 제로베이스
- Baekjoon
- 리액트쿼리
- Next
- 자바스크립트코딩테스트
- 타입스크립트
- next13
- JS
- leetcode
- stack문제
- lodash
- 자바스크립트 문제
- Next.js13
- 알고리즘문제풀이
- react
- 자바스크립트 문제풀이
- leetcode문제풀이
- NPM
- 프로그래머스
Archives
- Today
- Total
코드노트
자바스크립트 알고리즘 등차수열의 항 찾기 본문
등차수열의 항을 찾는 방법!
항 번호가 없는 경우에는 -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 을 반환하면 해당하는 항의 수를 구할 수 있다.
알고리즘문제는 반복하는 방법말고는 방법이 없나보다..
반복하면서 문제를 풀게 될수록 이해도가 올라가게 되는거 같다.
'Code note > 자바스크립트 알고리즘 문제풀이' 카테고리의 다른 글
자바스크립트 배열 문제 풀이 - 배열 비교(체스) (0) | 2022.08.22 |
---|---|
자바스크립트 배열 문제 풀이 - 수열 최소값 위치 찾기 (0) | 2022.08.22 |
알고리즘 연습 / 잃어버린 수열 찾기 (0) | 2022.08.21 |
javascript 배열을 문자로, 문자를 배열으로 문자교정 문제 풀이 (0) | 2022.08.12 |
javascript 반복문 문제 풀이 정리 (0) | 2022.08.03 |