LeetCode) 67. Add Binary_2
지난 번에 2진수 -> 10진수 변환 후, 더하고, 10진수 -> 2진수로 변환하는 방법은 틀린 것이라는 글을 보았다.
이유는, 자료형의 범위때문에 잘못된 값이 출력되기 때문이라고 ...
그래서 다들 StringBuilder를 사용하면서 푸는 것을 확인했다.
다른 사람 코드
>Language: java
class Solution {
public String addBinary(String a, String b) {
int aIdx = a.length() - 1;
int bIdx = b.length() - 1;
int sum = 0;
StringBuilder sb = new StringBuilder();
while (aIdx >= 0 || bIdx >= 0) {
if (aIdx >= 0) sum += a.charAt(aIdx--) - '0';
if (bIdx >= 0) sum += b.charAt(bIdx--) - '0';
sb.append(sum % 2);
sum /= 2;
}
if (sum == 1) sb.append(sum);
return sb.reverse().toString();
}
}
StringBuffer와 StringBuilder는 매우 긴 String에 많은 String연산을 매우 반복해야하는 경우에 쓰인다고 한다. 이와 관련한 내용은 따로 정리하는 것으로 한다.
그리고 몰랐던 함수들도 알아가는 문제가 되었다. 다음에 다시 한 번 풀어봐야겠음.
Author And Source
이 문제에 관하여(LeetCode) 67. Add Binary_2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@stringstrjava/LeetCode-67.-Add-Binary2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)