Python 기본 사항쉬움

N 비트 이진수

'N 비트 이진수' 문제에 대한 자세한 가이드 및 Python 구현입니다.

문제 설명

쉬움

이진 문자열의 모든 접두사에서 1의 수가 0의 수보다 크거나 같도록 모든 n비트 이진수(문자열)를 생성하는 함수 n_bit_binary(n)를 작성하세요. 결과를 사전순으로 정렬된 문자열 목록으로 반환합니다.

제약
  • 1 <= n <= 15

Example 1
Input
n = 3
Output
['110', '111']
Explanation

For '110': prefixes '1'(1>=0✓), '11'(2>=0✓), '110'(2>=1✓). For '111': all prefixes have more 1s. '100','101','010' etc. fail the prefix condition.

Example 2
Input
n = 2
Output
['10', '11']
Explanation

'10': prefix '1' has 1>=0✓, '10' has 1>=1✓. '11': both prefixes valid. '00','01' fail.

Example 3
Input
n = 1
Output
['1']
Explanation

Only '1' satisfies the condition. '0' has prefix '0' with 0 ones and 1 zero.

Need a Hint?
세트나 힙과 같은 재귀 관련 데이터 구조를 사용하는 것을 고려해보세요.
Edge Cases to Watch
  • 빈 입력 구조
  • 단일 요소 입력
  • 큰 수치 범위

해결할 준비가 되셨나요?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

편집기에서 열기
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

권장 Python 리소스

관련 대화형 튜토리얼, 치트 시트, 코드 비교를 통해 지식을 확장하세요.