Leetcode Java Binary String With Substrings Representing 1 To N
업데이트:
문제
코드
class Solution {
public boolean queryString(String s, int n) {
for (int i = n; i > n / 2; i--) {
if (!s.contains(Integer.toBinaryString(i))) {
return false;
}
}
return true;
}
}
결과
설명
-
[1, n] 범위의 숫자들의 이진 문자열이 모두 s에 부분 문자열인지 검증하는 문제이다.
- n부터 $\frac{n}{2}$ 이상일 때까지 i를 감소시키며 i의 이진 문자열이 s에 포함되지 않는 경우, 주어진 문제의 결과로 false로 반환한다.
- i < $\frac{n}{2}$를 만족할 때, $i \times 2$의 이진 문자열은 i의 이진 문자열을 모두 포함하기 때문에 [$\frac{n}{2} + 1$, n] 범위의 숫자들만 검증을 수행한다.
- 반복이 모두 완료되면 모두 포함되므로, 주어진 문제의 결과로 true를 반환한다.
소스
Sample Code는 여기에서 확인 가능합니다.
댓글남기기