이진수를 의미하는 두 개의 문자열 bin1과 bin2가 매개변수로 주어질 때, 두 이진수의 합을 return하도록 solution 함수를 완성해주세요.
class Solution {
public String solution(String bin1, String bin2) {
String answer = "";
int b=cal(bin1)+cal(bin2);
//answer 의 int 형태
int c=0;
if(b==0){
return "0";
}
//2진수로 변환해주는 과정
while(b>0){
answer=(b%2)+answer;
b /=2;
}
return answer;
}
//10진수로 변환해주는 함수
public int cal(String bin){
int a=0;
if(bin.equals("0")){
return 0;
}
for(int i=0; i<bin.length();i++){
if(bin.charAt(i)=='1'){
a+=Math.pow(2,bin.length()-i-1);
}
}
return a;
}
}
10진수를 2진수로 바꾸는 과정을 계속 나머지를 더해주면 2로 나눠주면 된다는것을 알게 되면 풀수있다.
'자바 알고리즘 문제' 카테고리의 다른 글
| 배열 만들기 4 (0) | 2024.02.26 |
|---|---|
| 소인수분해 (0) | 2024.02.14 |
| qr code (1) | 2024.02.10 |
| 커피 심부름 (0) | 2024.02.10 |
| 조건에 맞게 수열 변환하기 2 (1) | 2024.02.10 |