Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 프로그래머스 파이썬
- leetcode
- 코로나19
- 편스토랑 우승상품
- Docker
- 맥북
- 더현대서울 맛집
- programmers
- 프로그래머스
- 데이콘
- gs25
- 백준
- Real or Not? NLP with Disaster Tweets
- 캐치카페
- dacon
- 파이썬
- PYTHON
- AI 경진대회
- 우분투
- SW Expert Academy
- 자연어처리
- Baekjoon
- github
- Kaggle
- 편스토랑
- hackerrank
- 금융문자분석경진대회
- ChatGPT
- Git
- ubuntu
Archives
- Today
- Total
솜씨좋은장씨
[BaekJoon] 2089번 : -2진수 (Python) 본문
728x90
반응형

1일 1문제 85일차!
오늘의 문제는 백준의 -2진수 입니다.
2089번: -2진수
-2진법은 부호 없는 2진수로 표현이 된다. 2진법에서는 20, 21, 22, 23이 표현 되지만 -2진법에서는 (-2)0 = 1, (-2)1 = -2, (-2)2 = 4, (-2)3 = -8을 표현한다. 10진수로 1부터 표현하자면 1, 110, 111, 100, 101, 11010, 11011, 11000, 11001 등이다. 10진법의 수를 입력 받아서 -2진수를 출력하는 프로그램을 작성하시오.
www.acmicpc.net
Solution
inputNum = int(input())
base = 1
minusBinary = []
if inputNum == 0:
print(0)
else:
while inputNum:
if inputNum % 2:
minusBinary.append(1)
inputNum = inputNum - base
else:
minusBinary.append(0)
base = base * (-1)
inputNum //= 2
for i in range(len(minusBinary)-1, -1, -1):
print(minusBinary[i], end='')
SOMJANG/CODINGTEST_PRACTICE
1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.
github.com
'Programming > 코딩 1일 1문제' 카테고리의 다른 글
[BaekJoon] 6603번 : 로또 (Python) (0) | 2020.05.03 |
---|---|
[Programmers] 최댓값과 최솟값 (Python) (0) | 2020.05.02 |
[Programmers] 124 나라의 숫자 (Python) (0) | 2020.04.30 |
[HackerRank] Day of Programmer (Python) (0) | 2020.04.29 |
[HackerRank] Grading Students (Python) (0) | 2020.04.28 |