[programmers] 이진수 더하기 - Java
이진수를 더하는 문제에서는 두 문자열 bin1과 bin2를 이진수로 변환하여 더한 후, 그 결과를 다시 이진수 문자열로 변환하여 반환하는 방법을 사용한다. 이 과정에서 Integer.parseInt() 메소드와 Integer.toBinaryString() 메소드의 사용법을 이해하고 활용할 수 있었다.
Jan 29, 2024
문제 설명
이진수를 의미하는 두 개의 문자열
bin1
과 bin2
가 매개변수로 주어질 때, 두 이진수의 합을 return하도록 solution 함수를 완성해주세요.제한사항
- return 값은 이진수를 의미하는 문자열입니다.
- 1 ≤
bin1
,bin2
의 길이 ≤ 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