
내가 생각했을때 문제에서 원하는부분
이진수를 의미하는 두 개의 문자열 bin1과 bin2가 매개변수로 주어질 때, 두 이진수의 합을 return하도록 solution 함수를 완성해주세요.
내가 이 문제를 보고 생각해본 부분
Main146 main = new Main146();은 객체를 생성하여 인스턴스 메서드인 solution을 호출할 수 있게 준비한다.
예시 데이터("10"과 "11", "1001"과 "1111")를 넣어 결과를 확인한다.
System.out.println(result1);을 통해 연산 결과가 콘솔에 올바르게 출력되는지 확인한다.
int num1 = Integer.parseInt(bin1, 2);는 문자열 형태의 이진수를 십진수 정수로 변환한다.
여기서 뒤의 2는 2진법임을 의미한다.
int num2 = Integer.parseInt(bin2, 2);도 마찬가지로 두 번째 이진수 문자열을 십진수로 변환한다.
int sum = num1 + num2;는 변환된 두 숫자를 더해서 합계를 구한다.
return Integer.toBinaryString(sum);은 합산된 숫자를 다시 이진수 문자열로 변환하여 리턴한다.
코드로 구현
class Solution {
public String solution(String bin1, String bin2) {
int num1 = Integer.parseInt(bin1, 2);
int num2 = Integer.parseInt(bin2, 2);
int sum = num1 + num2;
return Integer.toBinaryString(sum);
}
}
프로그래머스 코드
package programmers.programmers2;
// 프로그래머스 이진수 더하기
public class Main146 {
public static void main(String[] args) {
Main146 main = new Main146();
// 테스트 예시 1
String bin1 = "10";
String bin2 = "11";
String result1 = main.solution(bin1, bin2);
System.out.println(result1); // 출력: 101
// 테스트 예시 2
String bin3 = "1001";
String bin4 = "1111";
String result2 = main.solution(bin3, bin4);
System.out.println(result2); // 출력: 11000
}
public String solution(String bin1, String bin2) {
int num1 = Integer.parseInt(bin1, 2);
int num2 = Integer.parseInt(bin2, 2);
int sum = num1 + num2;
return Integer.toBinaryString(sum);
}
}
위에 있는 코드를 변경한 코드
코드와 설명이 부족할수 있습니다. 코드를 보시고 문제가 있거나 코드 개선이 필요한 부분이 있다면 댓글로 말해주시면 감사한 마음으로 참고해 코드를 수정 하겠습니다.