[JAVA 문제 풀이] 85. 이진수 더하기

프로그래머스 (120885)
Stupefyee's avatar
Feb 13, 2025
[JAVA 문제 풀이] 85. 이진수 더하기
notion image

내가 작성한 코드

💡
class Solution { public String solution(String bin1, String bin2) { // 길이 맞추기 while (bin1.length() < bin2.length()) bin1 = "0" + bin1; while (bin2.length() < bin1.length()) bin2 = "0" + bin2; StringBuilder answer = new StringBuilder(); int nextNum = 0; // 자리 올림 // 뒤에서부터 계산 for (int i = bin1.length() - 1; i >= 0; i--) { int sum = (bin1.charAt(i) - '0') + (bin2.charAt(i) - '0') + nextNum; answer.append(sum % 2); // 현재 자리 값 (0 또는 1) nextNum = sum / 2; // 자리 올림 (0 또는 1) } // 마지막 자리 올림이 남아 있으면 추가 if (nextNum == 1) { answer.append("1"); } return answer.reverse().toString(); } }

다른 사람의 코드

💡
public String solution(String bin1, String bin2) { return Integer.toString(Integer.parseInt(bin1, 2) + Integer.parseInt(bin2, 2), 2); }
10진법으로 변환 후 계산하고 결과값을 다시 2진법으로 변환하는 방식
 
Share article

stupefyee