본문 바로가기
공부/백준

[백준] 1252번

by _음주토끼_ 2022. 6. 15.

1252번 문제는 이진수의 덧셈이다. 이진수 두 개를 더해 그 결과의 이진수를 출력하면 된다.

이진화 시키고 더하는 대신 두 수를 정수(십진수)로 받아 더한 뒤 그걸 이진화 bin()한다.

이때, 그냥 bin 함수만 쓰면 1b0010 이런식으로 ob+2진수변환수로 뜬다.

ob를 제거하기 위해 [2:]를 해주자.

귀찮다면 format(num, 'b')를 써주자. (b는 2진수를 의미)

근데 코테에서는 내장함수를 사용하지 않고 직접 구현하라는 문제도 나온대서 내장함수 없이 구현 연습도

해봐야할 것같다. 문제 풀기전에 뭐풀지 하면서 이 글을 보는 미래의 나야 3460번 이진수 문제 풀어보거라.

참고로 내장함수를 아예 사용하지 않는 경우의 알고리즘을 조사해보았다.

def func(n, ans_list):

num1 = 십진수 // 2 <= 2로 나눈 몫

num2 = 십진수 % 2 <= 2로 나눈 나머지

ans_list.append(num2) <= num2 모임

if num1 == 0:

return ans_list

else:

return func(num1, ans_list)

ans_list = []

ans = func(int(input()), ans_list)

ans.sort(reverse=True)

return "".join([str(_) for _ in answer])

위 코드는 아래 티스토리를 보고 정리했따. 감사합니다.

출처 : https://minnit-develop.tistory.com/17

 

[Algorithm/Python] 파이썬 2진수 변환 다양한 풀이 (Convert decimal to binary in python)

문제 양의 정수 n이 주어졌을 때, 이를 이진수로 변환하기 풀이 2진수 변환 함수 사용 ⭕️ binaryNum = format(n, 'b') return binaryNum format 이라는 함수를 이용한다. 'b' 는 2진수를 뜻한다. binaryNum = bi..

minnit-develop.tistory.com

 

 

'공부 > 백준' 카테고리의 다른 글

[백준] 10773  (0) 2022.06.15
[백준] 2012번  (0) 2022.06.15
[백준] 2417번  (0) 2022.06.15
[백준] 17478번  (0) 2022.06.15
[백준] 17298번  (0) 2022.06.15