Myo-Kyeong Tech Blog

[프로그래머스] Lv.0 이진수 더하기 (Python / Java) 본문

프로그래머스

[프로그래머스] Lv.0 이진수 더하기 (Python / Java)

myo-kyeong 2023. 6. 16. 11:28
728x90
반응형

 

https://school.programmers.co.kr/learn/courses/30/lessons/120885

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제 설명


이진수를 의미하는 두 개의 문자열 bin1과 bin2가 매개변수로 주어질 때, 두 이진수의 합을 return하도록 solution 함수를 완성해주세요.

제한사항


return 값은 이진수를 의미하는 문자열입니다.
1 ≤ bin1, bin2의 길이 ≤ 10
bin1과 bin2는 0과 1로만 이루어져 있습니다.
bin1과 bin2는 "0"을 제외하고 0으로 시작하지 않습니다.

입출력 예

 


 

문제 풀이 

[Python3]

  1. 'int(bin1,2)',  'int(bin2,2)' 사용하여 'bin1'과 'bin2' 이진수 문자열을 10진수 정수로 변환
  2. 두 이진수의 합 10진수로 계산
  3. bin() 함수로 덧셈 결과(10진수 정수)를 다시 이진수 문자열로 변환 후 [2:]를 사용하여  '0b' 제거

 

def solution(bin1, bin2):
    return bin(int(bin1,2) + int(bin2,2))[2:]

 

[Java]

  1. 'Integer.parseInt(bin1,2)' , 'Integer.parseInt(bin2,2)' 사용하여 'bin1'과 'bin2' 이진수 문자열을 10진수 정수로 변환
  2. 두 이진수의 합 10진수로 계산
  3. Integer.toBinaryString(...)를 사용하여 더한 결과를 다시 이진수 문자열로 변환
class Solution {
    public String solution(String bin1, String bin2) {
        return Integer.toBinaryString(Integer.parseInt(bin1,2) + Integer.parseInt(bin2,2));
    }
}

 

728x90
반응형