티스토리 뷰
문제
풀이
1. 10진수 -> 2, 8, 16진수 변환
파이썬에는 쉽게 진수 변환을 시켜주는 내장 함수들이 있다.
print('10진수 -> 2진수: {}'.format(bin(10)))
print('10진수 -> 8진수: {}'.format(oct(10)))
print('10진수 -> 16진수: {}'.format(hex(10)))
여기서 앞의 접두어들을 제외시켜 주려면,
[2:]를 붙여 세번째 인덱스부터 출력을 시켜 주는 방법도 있고
format을 이용할 수도 있다.
겉으로 감싸진 format은 print를 하기 위함이고 내부의 format을 보면 됨.
print('10진수 -> 2진수: {}'.format(
format((int(10)), 'b')
))
print('10진수 -> 8진수: {}'.format(format((int(10)), 'o')))
print('10진수 -> 16진수: {}'.format(format((int(10)), 'x')))
2. 2, 8, 16진수 -> 10진수 변환
간단히 int를 붙이면 된다. 참고로 int의 두번째 인자 default 값은 10진수라는 뜻으로 10 이다.
첫번째 인자는 문자열임을 명시해야 한다.
print('2진수 -> 10진수: {}'.format(int('1010', 2)))
print('8진수 -> 10진수: {}'.format(int('12', 8)))
print('16진수 -> 10진수: {}'.format(int('a', 16)))
이를 이용해서 위의 문제를 풀려면,
우선 받은 2진수를 10진수로 변환 후 8진수로 다시 변환시켜야 한다.
변환된 8진수 앞에는 8진수임을 알리는 접두어가 있기 때문에 해당 접두어를 제외하고 출력한다.
# 접두어 제외하고 출력하는 방식 두 가지. 둘 중에 하나를 선택하세요.
print(oct(int(input(), 2))[2:])
print(format((int(input(), 2)), 'o'))
참고:
반응형
'Basic_Studies > 알고리즘 문제풀이' 카테고리의 다른 글
[파이썬] 백준 - 1463: 1로 만들기 (매우 자세한 해설 포함) (10) | 2021.02.20 |
---|---|
[파이썬] 백준 - 11576: Base Conversion (0) | 2021.02.08 |
[파이썬] 백준 - 9613: GCD 합 (0) | 2021.02.04 |
[파이썬] 백준 - 2609: 최대공약수와 최소공배수 (0) | 2021.02.03 |
[파이썬] 백준 - 10989: 수 정렬하기 3 (0) | 2021.02.02 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- nuxt 공식문서
- 리액트
- 움직이는 글래스모피즘
- 파이썬 flask
- vscode venv
- 글래스모피즘 애니메이션 구현
- 10989 파이썬
- css marquee
- nuxt 공식문서 한글
- nextjs 파라미터 넘기기
- react router
- 파이썬 크롤링
- nextjs 스크롤
- 백준 10989 파이썬
- 리액트 라우터
- 화이팅
- bs4 크롤링
- 파이썬 정렬
- NextJS
- 카페음료테스트
- css 글래스모피즘
- next.js 리다이렉트
- getserversideprops redirect
- Til
- dvd 효과
- 글래스모피즘 구현
- 리액트 파라미터 넘기기
- 자바스크립트
- 리액트 컴포넌트
- 리액트 스크롤
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함