def solution(bin1, bin2):
answer = ''
answer = int(bin1, 2) + int(bin2, 2)
return bin(answer)[2:] # bin() <- 이걸 쓰면 앞에 "0b"가 생겨서 슬라이싱 했음
🤔 문제 풀이
- 파이썬 자체에서 bin() 함수와 Int() 함수로 문자열화 된 진수들을 더할 수 있어요
- answer = int(bin1, 2) + int(bin2, 2)
- int(문자열, n진수)의 형태로 문자열 수만큼 더해주시면 덧셈 코드는 완성 돼요
- return bin(answer)[2:]
- 대신 출력할 때는 bin()을 쓰서야 하는데
- 이 bin() 함수는 자동으로 앞에 "0b"가 생성되기 때문에 슬라이싱([2:])으로 원하는 값을 반환해 주시면 문제 해결!
- 대신 출력할 때는 bin()을 쓰서야 하는데
bin() 함수와 int(문자열, n진수)로 문자열 진수 더하기
함수 | 설명 |
bin(x) | x를 이진수로 변환한 문자열을 리턴함 |
a=123
print(bin(a))
결괏값 : 0b1111011
함수 | 설명 |
int(문자열, n진수) | 2진수 문자열을 더할 때 씀 |
bin1 = "10"
bin2 = "11"
addition = int(bin1,2)+int(bin2, 2) # 5
type(addition) # <class 'int'>
bin(addition) # '0b101'
bin(addition)[2:] # '101'
type(bin(addition)) # <class 'str'>
'문제 풀기 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 문자열 계산하기 (eval() 함수) (0) | 2025.01.06 |
---|---|
[프로그래머스] 공 던지기 (1h, len()을 활용한 인덱스 번호 알아내기) (0) | 2025.01.06 |
[프로그래머스] 소인수분해 (감이 안 잡혀서 시작도 못한 문제, while문 ,1h) (0) | 2025.01.03 |
[프로그래머스] 컨트롤 제트 (+실패 흔적들, 디테일 놓친 문제) (0) | 2025.01.03 |
[프로그래머스] 7의 개수 (+실패 흔적들, .count()) (0) | 2025.01.02 |