[프로그래머스/JAVA] Lv.0 이진수 더하기

또치·2023년 1월 23일
0

프로그래머스 JAVA

목록 보기
10/20
post-thumbnail

이진수 더하기

🎃 기억하고 싶은 부분 🎃

💙 2,8,16 진수 -> 10진수 변환
Integer.parseInt(변수,2)
parseInt( )에 변수랑 2,8,16 써서 앞에 쓴 숫자가 몇진수인지 말해주고 그걸 무조건 10진수로 변환한다.
💙 10진수 -> 2진수
Integer.toBinaryString(변수)
<참고>
10진수 -> 8진수
Integer.toOctalString(변수)
10진수 -> 16진수
Integer.toHexaString(변수)

🎯 문제

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

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

답안

class Solution {
    public String solution(String bin1, String bin2) {
        String answer = "";
        int a=0;
		a=Integer.parseInt(bin1,2)+Integer.parseInt(bin2,2);
		answer=Integer.toBinaryString(a);
        return answer;
    }
}

🧵 과정

이진수 , 십진수 변환 관련해서 처음 나오는 문제라 그런지 간단했어 근데 훨씬 짧게 쓸 수 있는걸 괜히 길게 풀어쓴 느낌이라 아쉽다
Integer.toBinaryString(Integer.parseInt(bin1,2)+Integer.parseInt(bin2,2)) 요런식으로!

일단 String을 int로 변환시키고 십진수로 바꾸고나서 더한 다음에 다시 이진수로 바꾸는 식으로 풀자고 생각했다.
이진수 관련 문제처음이라 오래걸릴까 걱정했는데 다행이야
암튼 이진수<->십진수 변환하는 방법 새로 알았다

	  

0개의 댓글