반응형
문제 설명
이진수를 의미하는 두 개의 문자열 bin1과 bin2가 매개변수로 주어질 때, 두 이진수의 합을 return하도록 solution 함수를 완성해주세요.
제한사항
- return 값은 이진수를 의미하는 문자열입니다.
- 1 ≤ bin1, bin2의 길이 ≤ 10
- bin1과 bin2는 0과 1로만 이루어져 있습니다.
- bin1과 bin2는 "0"을 제외하고 0으로 시작하지 않습니다.
자바에는 유용한 메소드가 참 많은것 같다. 처음에는 String 매개변수 2개를 배열로 변환하여 reverse하고 각 인덱스를 더해준 다음 reverse하는 식으로 풀으려고 했지만, 코드가 너무 길어지고 좋은 답이 아닌 것 같아 지우고 다시 생각해 보았다.
자바에서 제공하는 Integer객체의 메소드 중 진수 변환이 있다. 마침 이 진수변환 해주는 메소드가 String으로 된 이진수를 10진수로 바꾸어 주는 것이다. (아마 이걸 노리고 문제를 출제하지 않았나 싶다)
아래 정답 코드는 매개변수를 10진수로 바꾸고 더한 후 다시 2진수로 바꾸어 주는 코드이다.
class Solution {
public String solution(String bin1, String bin2) {
int result = Integer.valueOf(bin1,2) + Integer.valueOf(bin2,2);
return Integer.toBinaryString(result);
}
}
반응형
'코딩테스트 > Programmers_LV0' 카테고리의 다른 글
Programmers_JAVA_로그인 성공? (0) | 2022.11.21 |
---|---|
Programmers_JAVA_치킨 쿠폰 (0) | 2022.11.21 |
Programmers_JAVA_A로 B 만들기 (0) | 2022.11.21 |
Programmers_JAVA_K의 개수 (0) | 2022.11.21 |
Programmers_JAVA_중복된 문자 제거 (0) | 2022.11.18 |