일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 배열이란
- javascript
- 웹개발
- mdn
- 배열 예시
- js
- singly linked list
- CLI 명령어
- Django
- 배열 사례
- 리눅스 기초 명령어
- 입력받기
- python
- let const 차이
- django로그인
- 알고리즘
- 자바스크립트
- djangoframework
- 맥북 터미널 명령어
- 자료구조
- js입력받기
- 트리 시간복잡도
- doubly linked list
- 장고
- linked list 현실 사례
- 시간복잡도
- let const var 차이
- 사용자입력
- 웹프로그래밍
- djangoprogramming
- Today
- Total
용기러기's Coding World
Javascript (2) - Math 객체 본문
안녕하세요 :D
오늘은 자바스크립트에서 제공하는 내장 객체 중에 하나인
Math 객체 그리고 그중에서도
알고리즘 풀이 등에서 유용하게 쓰일만한 몇가지 메서드들을 정리해보고자 합니다 :D
1) Math.pow(x,y);

먼저, 쉽게 제곱을 할 수 있도록 도와주는 pow 메서드가 있습니다.
사용법은 위와 같이
x= 제곱해줄 수
y = 몇 제곱을 할지
로 작성해주시면 됩니다 :D 위의 경우에는 2의 3승을 알아보기 위해 x,y에 각각 2,3을 넣었습니다!
(*참고로 자바스크립트에서는 제곱 연산자로 '**' 을 제공하고 있습니다. 즉, '2**3 = 8' 입니다 :D)
2) Math.sqrt(input);

제곱하는 메서드를 알아봤으니 이제
제곱근(Square root)을 구하는 메서드를 알아봐야겠죠? :D
제곱근은 쉽게 생각해서 루트를 씌운 값이라고 생각하시면 되는데요!
Math.sqrt() 메서드의 경우 input에 대해서 루트를 씌운 값을 소수로 리턴해줍니다
그러나, 위의 경우에는 25를 넣었기 때문에 깔끔하게 5가 (루트 25 = 5) 나온 것을 볼 수 있습니다 :D
Tips*
(*sqrt의 활용? 소수를 구할 때, 예를 들어, 7의 소수를 판별할 때 반복문으로 1<n<7의 범위를 가지는 모든 n을 7로 나눠보면 7이 소수인지 알 수 있지만 알고리즘 복잡도를 낮추기 위해서 sqrt() 메서드를 이용해 중간지점, 예를 들어, sqrt를 안쓴다면 10번의 반복문을 돌릴 것을 5번으로 단축시킬 수 있습니다!)
3) 올림, 반올림, 내림 3종세트!
Math.ceil()
Math.round()
Math.floor()

이런식으로 ceil, round, floor는 순서대로 올림, 반올림, 내림의 기능을 해주는 메서드입니다!:D
이런 메서드는 소수점 이하를 버리라할 때 혹은
알고리즘 문제 조건에서 반올림 하시오라는 조건이 나올 때 쓰면 유용하겠죠? :D
** 참고로!

parseInt도 Math.floor와 같이 소수를 input으로 주면 '내림' 한다는 것 알아두세요!:D
4) 최대, 최소값 (Max, Min)
Math.min();
Math.max();
여러 개의 숫자가 주어지고 그 중에서 최대 혹은 최소값을 구해야하는 경우! 난감하셨죠?(응 ? 홈쇼핑??..)
그런 경우에 저희의 수고를 덜어주는
max, min 메서드를 쓰시면 됩니다:D

input 값은 저는 3개를 넣어서 보여드렸지만, 개수에는 제한이 없습니다!:D
** 참고로!

이런식으로 배열을 넣어서 그중에 제일 큰 값을 찾을 수 는 없습니다! :D
그러나, 배열에서는 sort()를 활용해서 최소, 최대값을 구할 수 있겠죠??ㅎㅎ
5) 절대값 abs
Math.abs();

두 수의 차이를 구하는 문제에서, 예를 들어, 4,5를 비교할 때
5-4 = 1 로 양수로 결과가 나오지만,
4-5 = -1로 음수로 결과가 나올 수 있습니다.
이 때, 둘이 '얼마나 차이가 나는지'에 주목한다면 어떤 순서로 input을 줘도 '1'이 나와야 합니다 :D
이런 경우에 '절대값' 개념을 써야하고, 우리는 js가 제공하는 Math.abs() 메서드를 쓸 수 있습니다!
여기까지:D
5종류의 Math 객체의 메서드를 알아봤는데요!
나중에 포스팅할 random 메서드도 굉장히 재미있는 메서드이지만(예고편!)
오늘은 아껴두겠습니다(?) :D
위의 메서드들은 좀 더 거시적인 단위의
알고리즘 문제를 푸는 데에 있어서
아주 유용하게 쓸 수 있는 미시적인 단위의 메서드들로
활용할 수 있는 부분이 많다고 생각합니다:D
여기까지 포스팅을 마치겠습니다
감사합니다!:D
'용기러기's javascript' 카테고리의 다른 글
javascript (6) - var, let, const 비교 (0) | 2020.08.02 |
---|---|
JavaScript (5) - Array 객체 (0) | 2020.07.30 |
Javascript (4) - Array to String & String to Array (0) | 2020.07.30 |
Javascript (3) - for in vs for of (0) | 2020.07.30 |
Javascript (1) - parseInt() vs Number() (0) | 2020.07.29 |