[백준] 1373 2진수 8진수 (파이썬 python)

2022. 1. 25. 23:33· Algorithm/BOJ

 

 

문제 링크

 

 

https://www.acmicpc.net/problem/1373

 

1373번: 2진수 8진수

첫째 줄에 2진수가 주어진다. 주어지는 수의 길이는 1,000,000을 넘지 않는다.

www.acmicpc.net

 

 

 

문제

 

 

 

 

 

문제 풀이

 

 

처음에 제출했던 코드는 아래와 같다.

 

n = input()[::-1]
convert10 = 0
result = ""
for i in range(len(n)):
    convert10 += int(n[i]) * (2 ** i)
while convert10 != 0:
    result += convert10 % 8
    convert10 //= 8
print(result[::-1])

 

이렇게 직접 2진수를 10진수로 변환하고, 그것을 다시 8진수로 변환하는 코드를 짜서 제출했는데

수정을 계속 해도 시간 초과가 떴다.

 

결국 구글링을 통해 해결법을 찾아보니 정말 간단한 내장함수가 존재했다.

 

 

# 정답 코드

print(oct(int(input(),2))[2:])

 

 

int()의 두 번째 인자는 진법을 나타낸다.

즉, int(input(), 2)는 숫자를 2진법으로 입력받는다는 것을 의미한다.

oct()는 8진법으로 숫자를 변환하는 함수이다.

[2:]을 해주는 이유는 10진법이 아닌 8진법으로 변환을 진행했기 때문에

8진법임을 나타내는 0o가 숫자의 앞에 나타나는데

출력 예시에 그것이 나타나있지 않으므로 그것을 지우기 위해 3번째 글자부터 출력하는 것이다.

 

저작자표시 비영리 변경금지 (새창열림)

'Algorithm > BOJ' 카테고리의 다른 글

[백준] 2805 나무 자르기 (파이썬 python)  (0) 2022.01.26
[백준] 1654 랜선 자르기 (파이썬 python)  (0) 2022.01.26
[백준] 2745 진법 변환 (파이썬 python)  (0) 2022.01.25
[백준] 11005 진법 변환 2 (파이썬 python)  (0) 2022.01.25
[백준] 9613 GCD 합 (파이썬 python)  (0) 2022.01.25
'Algorithm/BOJ' 카테고리의 다른 글
  • [백준] 2805 나무 자르기 (파이썬 python)
  • [백준] 1654 랜선 자르기 (파이썬 python)
  • [백준] 2745 진법 변환 (파이썬 python)
  • [백준] 11005 진법 변환 2 (파이썬 python)
YOONJELLY
YOONJELLY
YOONJELLY
JELLYJELLY
YOONJELLY
전체
오늘
어제
  • 분류 전체보기 (153)
    • Springboot (2)
    • Android (15)
    • Algorithm (126)
      • 개념 (8)
      • BOJ (91)
      • Programmers (15)
      • SWEA (4)
    • 경험_기록 (1)
    • RIM_TIP (4)
    • Github (2)
    • CS (1)
      • 운영체제 (1)
      • 컴퓨터네트워크 (0)
      • 정보처리기사 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • softeer
  • 자료구조
  • 이것이코딩테스트다
  • 안드로이드
  • 정렬
  • 딕셔너리
  • 액티비티컴포넌트
  • 코틀린
  • 소프티어
  • 다이나믹프로그래밍
  • SWEA
  • Android
  • 스택
  • 백준
  • 문자열
  • 그리디
  • kotlin
  • 코딩테스트
  • 알고리즘
  • DP
  • BFS
  • Python
  • 큐
  • programmers
  • BOJ
  • 파이썬
  • 완전탐색
  • 프로그래머스
  • 이진탐색
  • DFS

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
YOONJELLY
[백준] 1373 2진수 8진수 (파이썬 python)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.