문자열 S는 2진수로 표현된 양의 정수입니다.
해당 정수에 아래의 연산을 수행합니다.
1. 만약 숫자가 짝수인 경우 해당 값의 2를 나눈다.
2. 만약 숫자가 홀수인 경우 1을 뺀다.
연산의 결과가 0이 될때까지 반복해서 수행했을 때 수행된 연산 횟수 N을 구하는 함수를 작성하세요.
[입력]
2진수가 표현된 String S
[출력]
결과가 0이 될때까지 수행한 연산 횟수 N
매개변수 : String S
리턴타입 : int
function solution(S)
{
var s = S.replace(/(^0+)/, "");
var n = 0;
if (s != "" && s.lnegth != 0)
{
n = 1;
n += (s.match(/1/g).length - 1) * 2;
n += s.match(/0/g) == null ? 0 : s.match(/0/g).length;
}
return n;
}
'Coding Test > Programmers' 카테고리의 다른 글
[Programmers Test] (2회차 코딩테스트) No 4. palindrome (0) | 2023.01.27 |
---|---|
[Programmers Test] (2회차 코딩테스트) No 3. MostAppearNumber (0) | 2023.01.27 |
[Programmers] (2017 팁스타운) Lv 2. 짝지어 제거하기 (0) | 2023.01.26 |
[Programmers] Lv 2. 다음 큰 숫자 (0) | 2023.01.25 |
[Programmers] (Dynamic Programming) Lv 2. 피보나치 수 (0) | 2023.01.25 |
댓글