알고리즘
프로그래머스 이진수 더하기 (JAVA)
박카스마시며코딩
2022. 12. 11. 19:38
https://school.programmers.co.kr/learn/courses/30/lessons/120885
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
class Solution {
public String solution(String bin1, String bin2) {
String answer = "";
int num1 = changeDec(bin1);
System.out.println(num1);
int num2 = changeDec(bin2);
System.out.println(num2);
answer = changeBin(num1+num2);
return answer;
}
private int changeDec(String bin){
int result = 0;
for(int i = 0 ; i < bin.length() ; i++){
result *= 2;
result += bin.charAt(i) - '0';
}
return result;
}
private String changeBin(int num){
StringBuilder sb = new StringBuilder();
while(num > 0){
if(num % 2 == 0){
sb.append(0);
}else{
sb.append(1);
}
num /= 2;
}
sb.reverse();
if(sb.length() == 0){
sb.append(0);
}
return sb.toString();
}
}