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
- nth-child()
- visibility : hidden
- 양방향 연결리스트
- innerhtml
- invalid assignment left-hand side
- 단방향 연결리스트
- Link
- map()
- 가상 요소 선택자
- 쌍방향 연결리스트
- 객체
- 백준알고리즘
- 등차수열의 항 찾기
- Sort
- disabled
- CSS
- indexOf
- display : none
- 배열과 연결리스트의 차이
- Array.from()
- 인접 형제 선택자 결합
- classList.contains(string)
- 일반 형제 선택자 결합
- for..of
- filter()
- 배열의 오름차순
- 배열의 내림차순
- 범용 선택자
- 고차함수
- Em
Archives
- Today
- Total
프론트엔드 센트럴파크 (☞゚ヮ゚)☞
등차수열의 항 찾기 본문
a : 초항
d : 인접한 차이
n : 찾는 항의 수
만약 항 번호가 없을 때에는 -1을 반환한다.
예시) f(1) = 1, f(2) = 3, f(3) = 5, f(4) = 7
반복문 사용
function answer(a, d, n) {
let index = -1;
let acc;
for(let i=1; ; i++) {
acc = a + d * ( i - 1 );
if(acc > n){
index = -1;
break;
}
if(acc == n) {
index = i;
break;
}
// console.log(acc);
}
return index;
}
let input = [
[1, 2, 7],
[2, 3, 10],
[3, 5, 23],
];
for (let i = 0; i < input.length; i++) {
console.log(`#${i + 1} ${answer(input[i][0], input[i][1], input[i][2])}`);
}
if문 사용
function answer(a, d, n) {
let index = -1;
if ((n - a) % d == 0) {
index = (n - a) / d + 1;
} else index = -1;
return index;
}
let input = [
[1, 2, 7],
[2, 3, 10],
[3, 5, 23],
];
for (let i = 0; i < input.length; i++) {
console.log(`#${i + 1} ${answer(input[i][0], input[i][1], input[i][2])}`);
}
if ((n - a) % d == 0) {
역으로 n - a(초항) 값을 하게되면 일정한 값의 등차값이 나오게 된다.
예시 ) 1, 3, 5, 7
7 - 1 => 6 % 2 == 0 등차수열에 속한다.
index = (n - a) / d + 1
d + 1 인 이유는 초항의 값이 1이기 때문이다.
d로 나누게 되면 n의 값을 구할 수 있다.
'Algorism' 카테고리의 다른 글
수열 최솟값 위치 구하기 (0) | 2022.07.20 |
---|---|
약수 구하기 (0) | 2022.07.18 |
반복문과 재귀식을 이용한 순열문제 (0) | 2022.07.18 |
재귀식을 이용한 피보나치 수열 (0) | 2022.07.17 |
재귀식을 이용한 팩토리얼(n!) (0) | 2022.07.17 |
Comments