티스토리 뷰
문제 설명
0과 1로 이루어진 어떤 문자열 x에 대한 이진 변환을 다음과 같이 정의합니다.
x의 모든 0을 제거합니다.
x의 길이를 c라고 하면, x를 "c를 2진법으로 표현한 문자열"로 바꿉니다.
예를 들어, x = "0111010"이라면, x에 이진 변환을 가하면 x = "0111010" -> "1111" -> "100" 이 됩니다.
0과 1로 이루어진 문자열 s가 매개변수로 주어집니다. s가 "1"이 될 때까지 계속해서 s에 이진 변환을 가했을 때, 이진 변환의 횟수와 변환 과정에서 제거된 모든 0의 개수를 각각 배열에 담아 return 하도록 solution 함수를 완성해주세요.
입출력 예 설명
"110010101001"이 "1"이 될 때까지 이진 변환을 가하는 과정은 다음과 같습니다.
문제 풀이 방법
- 문자열에서 0을 삭제한다, 삭제한 0의 갯수를 카운트한다.(answer[0])
- 0이 제거된 횟수를 카운트 한다
- 0 제거 후 길이를 (answer[0])에 계속 합친다
- 0 제거 후 길이를 이진변환한다 / 어떻게-> (s.length).toString(2)
- 이진변환한 결과가 1이 아니면 다시 1번으로 간다
- 결과가 1이 나오면 answer을 리턴한다
function solution(s) {
var answer = [0,0];
let sLength = 0;
//110010101001
while(s.length > 1) {
sLength = s.length;//12
s = s.split("0").join("");//111111 /6
answer[0]++;//1
answer[1] += sLength - s.length;//6
s = (s.length).toString(2)
}
return answer;
}
'javascript > 알고리즘' 카테고리의 다른 글
2695. Array Wrapper (0) | 2024.07.02 |
---|---|
[leetcode] 13. Roman to Integer (0) | 2022.04.06 |
[leetcode] 9. Palindrome Number (0) | 2022.03.25 |
[leetcode] 35. Search Insert Position (0) | 2022.01.24 |
[leetcode] 27. Remove Element (0) | 2022.01.22 |
댓글
최근에 올라온 글
최근에 달린 댓글
링크
TAG
- while문활용
- debugger라도 해서 다풀어버리자
- 문자열실수변경
- login연장
- 객체의 참조값
- 무조곤 비공개
- 지뢰찾기 게임도 못하는데
- 게임은 더못만든다
- if문 중첩없애기
- react 공식문서
- 생성자함수에서의 this
- httponly cookie
- 무조건 비공개..
- MDN 참조
- 콜백함수에서의 this
- 한번에 받는건 id로 받기
- 이 쉬운걸 4시간동안....
- https://www.ncloud.com/support/notice/all/1424
- 중복숫자찾기
- 프로토타입 체인
- refresh token
- 메서드오버라이드
- 타입스크립트 프로그래밍
- 화살표함수에서 this의 바인딩
- 배열단순값 객체엔 속성값
- 복수는 한번에 안댐
- .fill
- 틀리면 말씀해주세요
- NextJS13
- var과 let의 차이
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
글 보관함