[문제 설명]
0 이상의 정수 n이 주어질 때, n의 이진 표현에서 인접한 두 1 사이의 가장 긴 거리를 출력하는 함수, solution을 완성해주세요.
예를 들어, n이 주어질 때의 결과는 다음과 같습니다.
> n : 5
> n의 이진 표현 : 101
> 결과 : 2
> n : 11
> n의 이진 표현 : 1011
> 결과 : 2
[입력 형식]
- n은 0 이상 10^9 이하의 정수입니다.
[출력 형식]
- n의 이진 표현에서 인접한 두 1 사이의 가장 긴 거리를 출력합니다.
const solution = (n) => {
let itv = 1,
max = 1;
n.toString(2)
.split("")
.forEach((e) => {
if (e == 0) {
++itv;
max = max < itv ? itv : max;
} else itv = 1;
});
return max;
};
'Coding Test > Programmers' 카테고리의 다른 글
[Programmers] Lv 2. 연속 부분 수열 합의 개수 (0) | 2023.01.21 |
---|---|
[Programmers Test] (1회차 코딩테스트) No 5. CountEqualWithDividedNumber (1) | 2023.01.20 |
[Programmers Test] (1회차 코딩테스트) No 3. Stock (1) | 2023.01.20 |
[Programmers Test] (1회차 코딩테스트) No 2. TakeTheSand (0) | 2023.01.20 |
[Programmers] (완전탐색) Lv 2. 피로도 (0) | 2023.01.18 |
댓글