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 |
Tags
- 삼항연산자
- Step2
- 한큐
- javascript
- 취업반
- position
- for문
- Youtube 올리버쌤
- 이벤트핸들러
- spread operator
- 유튜브 올리버쌤
- egov
- continue문
- JDK
- array
- 한큐에자바
- break문
- 이클립스
- 전자정부프레임워크
- java
- 이벤트
- 유뷰브 올리버쌤
- 자바
- math
- 올리버쌤
- hanq
- es6
- 자바스크립트
- web
- Event
Archives
- Today
- Total
호다닥
배열만들기 본문
나의 풀이
또 다른 풀이
먼저 두 가지로 나눠서 생각해보자.
start 보다 end가 클 경우, 그리고 start 보다 end가 작을경우
먼저, start보다 end가 클 경우, 즉 값이 점점 증가할 경우에는
var idx = 0; for (var i = start; i < end; i += step) { arr[idx] = i; idx++; }
이렇게 작성할 수 있고,
반대로 start보다 end가 작을 경우, 즉 값이 점점 감소할 경우에는
var idx = 0; for (var i = start; i > end; i += step) { arr[idx] = i; idx++; }
이렇게 작성하면 된다.
이 코드를 if문으로 합쳐서 완성하면 아래와 같다.
function range(start, end, step) { var arr = []; var idx = 0; if (start < end) { for (var i = start; i < end; i += step) { arr[idx] = i; idx++; } } else { for (var i = start; i > end; i += step) { arr[idx] = i; idx++; } } return arr; } // 테스트 코드 console.log(range(1, 10, 1)); console.log(range(-1, 10, 3)); console.log(range(10, -10, -4));
[1, 2, 3, 4, 5, 6, 7, 8, 9] [-1, 2, 5, 8] [10, 6, 2, -2, -6]
'알고리즘 문제' 카테고리의 다른 글
문자 개수 세기 (0) | 2018.10.03 |
---|---|
배열 만들기2 ( 2중배열 하나로 통합하기+내부배열 순서바꾸기 ) (0) | 2018.10.02 |
팩토리얼 (0) | 2018.10.01 |
2등 찾기 (두번째 큰값) (0) | 2018.10.01 |
삼각형 그리기 (별찍기) (0) | 2018.10.01 |
Comments