[programmers] 이진수 더하기 - Java

이진수를 더하는 문제에서는 두 문자열 bin1과 bin2를 이진수로 변환하여 더한 후, 그 결과를 다시 이진수 문자열로 변환하여 반환하는 방법을 사용한다. 이 과정에서 Integer.parseInt() 메소드와 Integer.toBinaryString() 메소드의 사용법을 이해하고 활용할 수 있었다.
Jan 29, 2024
[programmers] 이진수 더하기 - Java

문제 설명

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

제한사항

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

입출력 예

bin1
bin2
result
"10"
"11"
"101"
"1001"
"1111"
"11000"

입출력 예 설명

입출력 예 #1
  • 10 + 11 = 101 이므로 "101" 을 return합니다.
입출력 예 #2
  • 1001 + 1111 = 11000 이므로 "11000"을 return합니다.

solution.java

class Solution { public String solution(String bin1, String bin2) { return Integer.toBinaryString(Integer.parseInt(bin1,2) + Integer.parseInt(bin2,2)); } }
 

핵심 키워드

  • bin1과 bin2를 컬렉션에 담아서 계산하려고 했지만 계속해서 발생하는 null값을 처리할 수가 없었다.
  • 이를 고민하면서 해결 방법을 찾아봤다.
    • Integer.parseInt(String s, int radix) 메소드는 첫 번째 문자열 파라미터를 두 번째 정수 파라미터를 기수로 하는 부호 있는 정수로 리턴한다.
    • Integer.toBinaryString(int i) 메소드는 파라미터로 넘겨진 정수를 unsigned 이진수 문자열로 반환한다.
 

결론!

해당 문제를 풀면서 코드를 작성하다가 Integer.parseInt() 메소드의 정확한 사용법을 이해할 수 있었고, Integer.toBinaryString() 메소드의 활용방법 또한 알 수 있었다.
 
Share article

More articles

See more posts

👨🏻‍💻DriedPollack's Blog