진법변환

문제 링크 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진수로 변환하는 코드를 짜서 제출했는데 수정을 계속 해..
문제 링크 https://www.acmicpc.net/problem/2745 2745번: 진법 변환 B진법 수 N이 주어진다. 이 수를 10진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 www.acmicpc.net 문제 문제 풀이 1234(2)를 10진수로 변환하려 할 때 2^3 * 1 + 2^2 * 2 + 2^1 * 3 + 2^0 * 4 의 계산으로 변환된다. 이 원리를 활용해서 N을 입력받고 0부터 순서대로 B^(len(N) - 1)까지 곱해지는 것에 대해 for문으로 작성하였다. N, B = input().split() N = N[::-1] B = int(B) table = "012345678..
문제 링크 https://www.acmicpc.net/problem/11005 11005번: 진법 변환 2 10진법 수 N이 주어진다. 이 수를 B진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 www.acmicpc.net 문제 문제 풀이 진법 변환 과정이 갑자기 기억이 안나서 헤맸다..ㅋㅋㅋ B진법으로 변환하려면 10진수 N을 숫자 B로 나머지가 0이 될 때까지 계속 나누어 나온 나머지를 저장하고 그 저장된 나머지를 반대로 표현하면 변환이 완료된 것이다. 이것을 코드로 표현하면 문제 풀이는 끝난다. 또 한가지 주의할 점은 10부터 35까지는 숫자 표현이 불가능하므로 미리 문자열에 알파벳을 저장해두어..
YOONJELLY
'진법변환' 태그의 글 목록