코딩테스트

코딩테스트 풀이 - 세균 증식 | 왼쪽시프트 << 와 pow() 를 사용한 코드

히새 2023. 11. 2. 18:29

 

매개변수 n 을 t번만큼 2로 곱한 수를 출력해야한다.

 

1. 반복문을 사용해 n에 t 의 length 만큼 2를 곱해준다.

 

t 의 값이 10이면 2를 10번 곱해주는 것이니까 i 가 t 보다 작거나 같아야 한다고 생각했는데,

오답이 딱 두배가 된 것 보니까 아닌가보다.!

 


사람들의 풀이를 보니 굉장히 다양한 방법으로 푸신 것 같아 제일 간단해보이는 코드 2개만 살펴보겠다 !

 

🎈 왼쪽 시프트 << 를 사용한 코드

 

왼쪽시프트 ( << ) 연산자는 첫 번째 피연산자를 명시된 비트 수 ( 32의 나머지 ) 만큼 왼쪽으로 이동합니다.

왼쪽으로 이동된 초과 비트는 폐기됩니다.

오른쪽은 움직인 비트 수 만큼 0비트로 채워집니다.

a << b

 

let x = 5;  // 00000101 (2진수)

let result = x << 2;  // 왼쪽으로 2비트 시프트

console.log(result);  // 결과: 20 (00010100)

 

참조 : https://colinch4.github.io/2023-09-09/20-51-09-401816/

 

결과는 x 의 값에 2를 거듭제곱 ( 2* 2 = 4 ) 만큼 곱해진 값인 20이 된다.

 

 

 

🎈 pow() 를 사용한 코드

 

pow() 는 밑 값 ( base ) 에 지수 ( exponent ) 를 제곱한 값을 반환한다.

Math.pow(base, exponent);

 

2개의 매개변수를 가진다.

- base : 밑 값

- exponent : 밑을 제곱하기 위해 사용하는 지수

 

Math.pow(7, 2); // 49
Math.pow(7, 3); // 343
Math.pow(2, 10); // 102