728x90
반응형
power
문제
두 수를 입력받아 거듭제곱을 리턴해야 합니다.
입력
인자 1: base
- number 타입의 자연수 (base >= 2)
인자 2: exponent
- number 타입의 정수 (exponent >= 0)
출력
- number 타입을 리턴해야 합니다.
- 실제 계산 결과를 1000000009로 나눈 나머지를 리턴해야 합니다.
주의사항
- Math.pow, 거듭제곱 연산자 사용은 금지됩니다.
- 시간복잡도 O(logN)을 만족해야 합니다.
- 나머지를 구하는 이유는 계산 결과가 컴퓨터로 나타낼 수 있는 수의 범위를 넘을 수 있기 때문입니다. 하지만 모든 연산이 끝난 뒤에 그 결과를 1000000009로 나누려고 해서는 안 됩니다. 연산 중간에도 이 범위를 넘을 수 있기 때문에, 연산을 할 때마다 나머지를 구하고 그 결과에 연산을 이어가시기 바랍니다.
Ref.
배운점
6번 줄에서 temp*temp 가 1000000009로 나누어져서 연산 한계를 넘어가지 않는 것으로 판단됨.
728x90
반응형
'Computer Science > Algorithm' 카테고리의 다른 글
Prm 11 : powerSet (0) | 2021.01.05 |
---|---|
Prm 10 : BinarySearch (0) | 2021.01.05 |
Prm 8 : LargestProductOfThree / sort (0) | 2021.01.04 |
Prm 7 : tree DFS / recursion (0) | 2021.01.04 |
Prm 6 : Sudoku / parseInt, [...Array().keys()].slice() (0) | 2021.01.01 |